从 C# DLL 导出函数
与 VS C/C 不同,其中 extern "C" __declspec(dllexport) 可用于导出函数,C# 需要不同的方法。
非托管导出
一种解决方案是使用 UnmanagedExports NuGet 包。此包允许您使用 [DllExport] 属性修饰静态方法,从而使它们能够导出以在本机代码中使用。
[DllExport] static int AddNumbers(int a, int b) { return a + b; }
DLLExport
另一个选项是使用 GitHub 上的 DLLExport 库。它提供与 UnmanagedExports 类似的功能。
[DllExport] public static int AddNumbers(int a, int b) { return a + b; }
限制
需要注意的是,从 C# DLL 导出函数有一些限制。具体来说,以这种方式导出的函数只能由非托管代码调用,例如 C 。如果您需要 C# 和其他托管代码之间的通信,您可能需要使用其他机制,例如互操作性库。
以上是如何导出C#函数以供非托管代码调用?的详细内容。更多信息请关注PHP中文网其他相关文章!