dllµ¼³ö·½·¨Ç°¼Óextern "C"±¨´í
Í·ÎļþÀïÕâô¶¨Òå
public:
extern "C" __declspec(dllexport) HRESULT ABC();
public:
extern "C" __declspec(dllexport) void BBB();
cppÎļþÀï
extern "C" HRESULT ABC()
{
}
extern "C" void BBB()
{
}
Õâôд±àÒë¾Í±¨´í£¬Èç¹ûÎÒ½«Í·ÎļþÀïµÄextern "C"ɾ³ýµô±àÒë¾Íͨ¹ýÁË£¿Í¬ÑùÈç¹ûֻɾ³ý.cppÎļþ·½·¨Ç°µÄextern "C"±àÒëÒ²»á±¨´í£¬¼òµ¥µÄ½²¾ÍÊÇÖ»Óн«Í·ÎļþÀïµÄextern "C"ɾ³ýµô²ÅÄܱàÒëͨ¹ý¡£ÎÒÏÖÕâÁ½¸ö·½·¨Òª±»C#µ÷Óã¬C#µ÷ÓÃʱһֱ±¨ÕÒ²»µ½·½·¨£¬ÎÒ²»ÖªµÀÊDz»ÊÇÒòΪûÓмÓextern "C"ËùÒÔÔÚC#ÖÐÓÃABC()µ÷ÓÃʱ»á±¨¸æÕÒ²»µ½Ãû³Æ£¿
Ö»ÔÚÍ·ÎļþµÄ¿ªÍ·ºÍ½áβ¼Ó
#ifdef __cplusplus
extern "C" {
#endif
¡£¡£¡£¡£
¡£¡£¡£¡£
¡£¡£¡£
#ifdef __cplusplus
};
#endif
»¹ÊDz»ÐÐ~~~ÊDz»ÊÇpublic£º²»¶Ô£¿ÒòΪÿ´Î±¨´íÎó¶¼ÊÇ:ºÅ¸½½ü´íÎóʲôδ½áÊø×Ö·û£¬Ö»ÄÜÈ´µôextern "C"²Å¿ÉÒÔ
ÕâÀïÓÐpublic£¬º¯ÊýÊÇÀà³ÉÔ±£¿
Èç¹ûÊÇÀàµÄ»°£¬°ÑÀർ³ö¾Í¿ÉÒÔÁË£¬ÓÃ1Â¥µÄ·½·¨¶ÔÀàÉùÃ÷½øÐÐÐÞÊΣ¬²»±Ø¶Ôÿ¸ö³ÉÔ±º¯Êý¶¼´¦Àí
class DDD: public EEE
{
public:
extern "C" __declspec(dllexport) HRESULT ABC();
extern "C" __declspec(dllexport) void CCC();
};
²î²»¶à¾ÍÊÇÕâô¶¨ÒåµÄ£¬Ò»±àÒë¾Í±¨¸æ´íÎó
ÎÒ·¢ÏÖÈ¥µô__declspec(dllexp
Ïà¹ØÎÊ´ð£º
ÈçÌ⣬C/C++ÖеÄexeclÔõôµ÷ÓÃдºÃµÄjava³ÌÐò£¬
execl("/opt/java1.5/bin/java","MyClass",NULL);
ÕâÑùµÄ²»ÐÐŶ¡£
²»»á.
ÔËÐÐjava³ÌÐò
ÕÒ¹¤¾ß²é¿´Ò»ÏÂÄǸö³ÌÐòµÄÃüÁîÐÐ
ËÑË÷Ï£ºjni ......
visual c++2008Ëٳɰ棬²»ÄܱàÒëC³ÌÐòÂð£¿Èç¹ûÄÜÊÇÔõô¿ªÊ¼µÄ°¡£¿ÓÃËü´øµÄÃüÁîÌáʾµ¥Ôª³ýÍâ ¡£
н¨¹¤³Ì£¨¿Õ¹¤³Ì»òwin32¿ØÖÆÌ¨£©
¾ø¶Ô¿ÉÒÔ¡£½¨Á¢win32¿ØÖÆÌ¨³ÌÐò¾Í¿ÉÒÔ
ÒýÓÃ
н¨¹¤³Ì£¨¿Õ¹¤³Ì»òwin32¿ØÖÆÌ¨£ ......
ÔھƵê¹ÜÀíϵͳÖÐ,ÓÐÒ»¸ö¶ÔÄÚµÄϵͳ,¹©Ç°Ì¨·þÎñÔ±ºÍ¾ÀíʹÓÃ
»¹ÓÐÒ»¸ö¾ÍÊǶÔÍâ,Èÿͻ§¿ÉÒÔÔÚÍøÉÏÔ¤¶©·¿¼ä,
ËüÃÇÖ®¼äÊÇÔõôͨѶµÄ.?µ±ÎÒÌá½»Ô¤¶©·¿¼äÐÅÏ¢µÄʱºò,
ÔÚ¶ÔÄÚµÄϵͳÖÐ,ÈçºÎÖªµÀÎÒÒѾÌá½»ÁËÐÅÏ¢¹ýÈ¥.Ê¹Ç ......
´ó¼ÒºÃ£¬ÎÒÊÇÐÂÊÖ£¬¸Õ¿ªÊ¼½Ó´¥C/S½á¹¹µÄ³ÌÐò£¬ÏëҪʵÏÖÒ»¸ö·ÖÒ³¹¦ÄÜ£¬´ó¼ÒÓÐûÓкõãµÄ·ÖÒ³¿Ø¼þ»òÕß³ÌÐòÖ®ÀàµÄ£¬µ±È»Ô´³ÌÐò¸üºÃ£¬·ñÔò˵˵Á÷³ÌÒ²¿ÉÒÔ£¬Ð¡Ãü±°¡£¬ÔÚÏߵȡ£¡£¡£¡£
´ó¼Ò°ï°ï棬лÁË£¡
×Ô¼ºÐ´Ñ½£¡
......
ÏÖÓÐparadoxÊý¾Ý¿âʹÓÃBDEÇý¶¯£¬Äâ¸ÄΪC/S°æ£¬Ôö¼ÓÍøÂç¶ÁÈ¡Êý¾Ý¹¦ÄÜ¡£ÇëÄÄλ´óÏÀ£¬ÌṩԴÂë¡£
˵¾ä²»¿ÍÆøµÄ»°£¬ÓÃparadox×öC/SÊÇ×ÔѰËÀ·¡£
»»Ò»¸öÍøÂçÊý¾Ý¿â
ÒòΪ²»Ï붯´óÊÖÊõ£¬½öÄܹ²Ïí¼¸¸öÎļþ¼´¿É¡£
Da ......