ネイティブ コードから使用する DLL を作成するために、アンマネージ エクスポート用の一般的なRobert Giesecke テンプレートを使用しました。
実際には、与えられたサンプル関数を適応させるだけでよいため、非常に単純なはずです。ビルドは機能しますが、このコマンドでは機能が表示されません。
$ dumpbin.exe /exports <mydllname>.dll
エクスポートされた関数は次のようになります。
using RGiesecke.DllExport;
namespace HelloWorld
{
internal static class UnmanagedExports
{
[DllExport("_adddays", CallingConvention = System.Runtime.InteropServices.CallingConvention.Cdecl)]
static double AddDays(double dateValue, int days)
{
return System.DateTime.FromOADate(dateValue).AddDays(days).ToOADate();
}
}
}
誰かが私が間違っていることを知っていますか? 何かお役に立てば幸いです。
参考までに: 私は VS 2012、.NET-Framework 4.5、クラス ライブラリ プロジェクト テンプレートを使用しています。プラットフォーム ターゲットを x86 に変更しようとしましたが (他の投稿で推奨)、役に立ちませんでした。