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Â¥Á½Î»¡£
ÎÊÌâ³öÔÚÎÒÄÚ²¿Ö¸Õë´«µÝÓдí....
ÎÒ¸Õ°ÑÌ·ºÆÇ¿µÄµÚÈý°æµÄÊéѧÍ꣬ÎÒÖªµÀµÄÓÐC++£¬CºÍÖ¸Õë CȱÏݺÍÏÝÚå Cר¼Ò±ä³É£¬»¹ÓÐÊý¾Ý½á¹¹£¬ÎÒÏëÎÊÎÊÎÒÓ¦¸ÃÒÔʲô˳ÐòÀ´Ñ§ÄØ
CȱÏݺÍÏÝÚå Cר¼Ò±à³Ì
Êǽø½×µÄ£¬²»Óü±×Å¿´
ÖÁÓÚ
CºÍÖ¸Õë
Äã²»Àí½âÖ ......