C/C++のちょっとしたことを知り、C#と相互作用しています。私は簡単なWin32 DLLを作成し、C#からこれを使用するいくつかの例を調べましたが、DLLに呼び出すときにランタイムエラーが発生します:「TestFuncという名前のエントリポイントを見つけることができません。DLL関数がエクスポートされていません:TestFuncという名前のエントリポイントを見つけることができません。
ヘッダー:
__declspec(dllexport) int TestFunc(char *, char *, char *);
コードファイル:
#include "stdafx.h"
#include "TestLib.h"
__declspec(dllexport) int TestFunc(char *arg1, char *arg2, char *arg3)
{
char str1[] = "Brady Kelly";
char str2[] = "Hello World";
char str3[] = "1234567890";
strcpy(arg1, str1);
return 128;
}
私が間違って何をやっている空のプロジェクトオプションを指定して、私のDLLは、このようになります、と私は、Win32 DLLプロジェクトからそれを作成しました?
"1800 INFORMATION"は問題を解決すると思いますが、C#プロジェクトでどのように関数を宣言しましたか? –
@Ahmed、私はこのように宣言します: [DllImport( "TestLib.dll")] public static extern int TestFunc(StringBuilder arg1、StringBuilder arg2、StringBuilder arg3); – ProfK