【发布时间】:2009-04-27 11:39:58
【问题描述】:
我正忙于了解一点点 C/C++,以及与 C# 的互操作。我检查了几个创建简单 Win32 DLL 并从 C# 使用它的示例,但是当我尝试调用我的 DLL 时,我收到运行时错误:“无法找到名为 TestFunc 的入口点”。我的 DLL 看起来像这样,我从一个 Win32 DLL 项目创建它,并使用空项目选项:
标题:
__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;
}
我做错了什么?
【问题讨论】:
-
我认为“1800 INFORMATION”解决了这个问题,但你是如何在 C# 项目中声明函数的?
-
@Ahmed,我这样声明:[DllImport("TestLib.dll")] public static extern int TestFunc(StringBuilder arg1, StringBuilder arg2, StringBuilder arg3);