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Â¥Á½Î»¡£
ÎÊÌâ³öÔÚÎÒÄÚ²¿Ö¸Õë´«µÝÓдí....
ΪʲôÎҵijÌÐòµ÷ÓÃXMLÅäÖÃÎļþÖеİ¢À²®ÎÄÏÔʾ²»³öÀ´£¿ÆäËûµÄÓïÖÖ¶¼¿ÉÒÔ£¬ÈçÖÐÎÄ£¬Ó¢ÎÄ£¬µÂÎͼ¿É¡£
ÎÒ½«XMLµÄ±àÂë¸ÄΪutf-8ºÍunicodeµÄµ½µÃ½á¹û¶¼Ò»Ñù.
°¢À²®ÎĵÄ×Ö¿âÄãÓÐô£¿
ÓÐ,ÎÒµÄEXEÊÇ·ÅÔÚpc»úÉÏÖ´Ðе ......
visual c++2008Ëٳɰ棬²»ÄܱàÒëC³ÌÐòÂð£¿Èç¹ûÄÜÊÇÔõô¿ªÊ¼µÄ°¡£¿ÓÃËü´øµÄÃüÁîÌáʾµ¥Ôª³ýÍâ ¡£
н¨¹¤³Ì£¨¿Õ¹¤³Ì»òwin32¿ØÖÆÌ¨£©
¾ø¶Ô¿ÉÒÔ¡£½¨Á¢win32¿ØÖÆÌ¨³ÌÐò¾Í¿ÉÒÔ
ÒýÓÃ
н¨¹¤³Ì£¨¿Õ¹¤³Ì»òwin32¿ØÖÆÌ¨£ ......
ʹÓÃACCESS×î´óµÄÒþ»¼¾ÍÊDz»°²È«¡£½ñÌì¶ÔACCESSÊý¾Ý¿âÉèÖÃÁËÒ»¸öÃÜÂ룬±ØÐëʹÓÃÃÜÂë²ÅÄÜ´ò¿ª£¬µ«ÊÇÔÚ³ÌÐòÖÐÈ´ÎÞ·¨Á¬½ÓÊý¾Ý¿âÁË¡£´ó¼ÒÖªµÀʹÓÃÓû§ÃûºÍÃÜÂ룬ÈçºÎÁ¬½ÓACCESSÊý¾Ý¿â£¿Ã²ËÆACCESSµÄÓû§Ãû»¹²»ÖªµÀ£¿Ö»Öª ......