C/C++ code:
//这是在.h头文件中定义的
struct _TestStruct;
typedef struct _TestStruct TestStruct;
//这是在.cpp文件中定义的
typedef struct _TestStruct
{
TestStruct1 struct1;
TestStruct2 struct2;
}TestStruct;
__declspec(dllexport) TestStruct* __stdcall Init()
{
return init();
}
__declspec(dllexport) BOOL __stdcall Update_Info(intptr_t* struct, char* key, char* value)
{
return update_info((TestStruct*)struct, key, value);
}
//释放
__declspec(dllexport) void __stdcall Free_Struct(intptr_t struct)
{
return free_struct((TestStruct*)struct);
}
C# code:
[DllImport("Test.dll")]
public static extern IntPtr Init();
[DllImport("Test.dll")]
public static extern bool Update_Info(IntPtr struct, String key, String value);
[DllImport("Test.dll")]
public static extern void Free_Struct(IntPtr struct);
因为不需要公开,所以在头文件中定义的结构,在.cpp文件中实现结构。
现在问题是C#要调用dll中这几个函数,运行全部通过,但是带不出值,
请大家帮帮忙,急啊......
在线等,如果解决,必定加分答谢!~
问题自己解决了,不好意思,忘了及时上来结贴。
谢谢1楼2楼两位。
问题出在我内部指针传递有错....
可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......