C# DLL からの関数のエクスポート: アンマネージ エクスポートと DLLExport
VS C/C とは対照的に、C# にはエクスポートの明示的なサポートがありません。 「extern "C" __declspec(dllexport)」構文を使用する関数。ただし、C# DLL で同様の機能を実現するには、主に 2 つのアプローチがあります。
アンマネージ エクスポート
このアプローチでは、C# DLL から関数をエクスポートするかのように関数をエクスポートできます。アンマネージ コード (例: C/C ) で書かれている。このメソッドを使用するには、「UnmanagedExports」NuGet パッケージをインストールし、エクスポートされたメソッドを [DllExport] 属性で装飾します。
例:
using UnmanagedExports; // Import the UnmanagedExports namespace [DllExport] // Export this method to unmanaged code public static int Add(int a, int b) { return a + b; }
DLLExport
DLLExport は、次のサードパーティ ライブラリです。アンマネージド エクスポートと同様の方法で C# 関数のエクスポートを有効にします。このライブラリでは、エクスポートされたメソッドで [DllExport] 属性を使用する必要もあります。
例:
using DllExport; // Import the DllExport namespace [DllExport] // Export this method to unmanaged code public static float Multiply(float a, float b) { return a * b; }
アンマネージ エクスポートと DLLExport の両方により、C# の作成が効果的に有効になります。 C/C アプリケーションやプラグインなど、外部のアンマネージ プログラムによって使用される関数を公開する DLL。
以上がC# 関数をアンマネージ コードにエクスポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。