概要
Native AOTとは、C#をネイティブにコンパイル出来るものです。
その一貫として、ネイティブのdllも作成できます。
.NET 9.0 以降は、「x64のdll」と「x86のdll」の両方に対応しました。
(.NET 8.0までは x64のみの対応でした)
dllをネイティブAOTに対応するには、
といったように設定しましょう。
通常のビルドではなく、発行する



これで、ネイティブのdll (C++で作成したものに近いdll)ができました。
実際には純粋なネイティブというわけではなく、
C++/CLIで作成したものに少し近い混成アセンブリの性質を帯びています。
(このため、freedllが効きません)
マクロ側でからの呼び出し
unsafe を使って良いならさらに簡単に
ネイティブから呼ばれるなら元々 unsafe でしょ、という感じもありますうので、
unsafe を受け入れ、以下のようにした方が簡単です。