通過.net native aot導出原生dll

.net 程序aot後,就是原生exe程序了, 如果輸出的dll類庫,則可以作爲原生dll供其它語言調用的, 只需要在需要導出的函數(需要是靜態函數)打上UnmanagedCallersOnly標記即可,示例如下:

[UnmanagedCallersOnly(EntryPoint = "OutPut")]
public static int OutPut()
{
    return 1;
}

導出後,可以作爲原生的dll調用了,其它語言就可以非常方便的調用.net語言編寫的函數了。 在.net程序中,也可以通過pinvoke的方式調用。

[DllImport("AOTDLL.dll")]
public static extern int OutPut();

更多示例可以參考這個文章:Using .NET 7 Native AOT to call .NET functionality in C++

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章