通过.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++

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