"extern C", ÄãÕæµÄ¶®ÁËÂð£¿
ÔÚc++ primeÊéÖп´µ½¹ý£¬ÔÚDLLºÍlibÖп´µ½¹ý£¬µ«ÊÇÿ´Î¿´¹ý¾Í²»ÇóÉõ½âµØÒ»É¨¶ø¹ý¡£ÐÄÀïÖªµÀÓÐextern cÕâ¸öÓï¾ä£¬È´²»ÖªµÀ¸ÃÓÃÔÚÄÄÀÓÖÄÜÆðµ½Ê²Ã´×÷Óᣰ¦£¬ÏëÏë×Ô¼ºÒ²ËãÊÇд¹ý²»ÉÙCODEµÄÈËÁË£¬¿ÉÕâÖÖÑÛ¸ßÊֵ͵Ä벡ȴ´Óû¸Ä±ä¹ý¡£½ñÌìͻȻÏëÆðexternÕâ¸ö¹Ø¼ü×Ö£¬Ëì¾ö¶¨²»ÄÜÔÙÕâôÀË·Ñʱ¼äÁË¡£¿ª¶¯google£¬ÈËÈâÁËÒ»°ÑexternÕâС×Ó£¬ÒªËµËÑË÷ÒýÇæÕæÊǸöºÃ¶«Î÷£¬Ê²Ã´¶¼ÌÓ²»¹ýÈ˼ҵÄÑÛ¾¦¡£
½ñÌì¾ÍÔÚÕâÀï°ÑexternÕâÀÏС×Ó¸øËµÃ÷°×ÁË£¬Ò²ËãÓиö°×Ö½ºÚ×Ö°É¡£
Ê×ÏÈ£¬ÄãÒª¸ãÃ÷°×£¬externÊÇC++µÄ¹Ø¼ü×Ö¡£ÄÇôΪʲôC++»áÓÐÕâ¸ö¹Ø¼ü×ÖÄØ£¿
¸÷λ¿´¹ÙÓ¦¸ÃÖªµÀ£¬C++¶ÔÏàͬº¯ÊýÃû£¬µ«ÊDz»Í¬º¯Êý²ÎÊýµÄº¯ÊýÓÐÖØÔØÕâ¸ö¹¦Äܰɣ¬bingo! hey man, you got the key! ¶ÔÁË£¬C++±àÒëÆ÷»áÔÚ±àÒëʱ°ÑÖØÔØµÄº¯ÊýµÄº¯ÊýÃûÐÞ¸ÄΪ²»Í¬µÄº¯ÊýÃû£¬Õâ¾ÍÊÇΪɶC++Äܹ»½øÐÐÖØÔØµÄÔÒò¡£¾Ù¸öÀý×Ó°É¡£
int a(char)
int a(int)
int a(double)...
ÖªµÀ±àÒëºó£¬ÕâЩº¯Êýa»á±ä³ÉʲôÂð£¿ÎÒÒ²²»ÖªµÀ£¬Ó¦¸Ã²»Í¬µÄC++±àÒëÆ÷Óв»Í¬µÄʵÏÖ·½Ê½£¬ÓпÉÄÜ»áÊÇÕâÑùµÄÑù×Ó£ºa_char_xxx,a_in_xxx,a_double_xxx¡£ÕâÊÇÔÀí£¬¸÷λÓÐÒÉÎʵģ¬ÎÒÒ²¾ÍÖ»ÄܽâÊ͵½Õâ¸öµØ²½ÁË£¬¸ü½øÒ»²½µØÀí½â£¬¿´¹ÙÃÇ¿ÉÒԲο¼ºî½Ý´óÉñ·ÒëµÄ¡¶ÉîÈë̽¾¿C++¶ÔÏóÄ£ÐÍ¡·£¬ÀïÃæÓиüÏêϸµÄ³ÂÊö¡£
ÒÔÉÏÊÇ´æÔÚexternÕâ¸ö¹Ø¼ü×ÖµÄÔÒò¡£µ«ÊÇ´æÔÚexternÕâ¸ö¹Ø¼ü×ÖµÄ×÷ÓÃÓÐÄÄÐ©ÄØ£¿
ºÜ¼òµ¥À²£¬"extern c"µÄ×÷ÓþÍÊǸæËßC++±àÒëÆ÷²»ÒªÔÙ¸øÎҸı亯ÊýÃûÁË£¬ÎÒ¾ÍÒªÔÑùµÄº¯ÊýÃû£¬Ð»Ð»¡£
»¹ÊÇÉÏÃæµÄÀý×Ó£º
extern "c"
{
int a(char);
}
ÕâÑù£¬C++±àÒëÆ÷¾Í»á×𾴵ػشðÄ㣬“ºÃµÄ£¬Ö÷ÈË£¬ÌýÄãµÄ”¡£±àÒëºóµÄ·ûºÅ»¹ÊÇa£¬¶ø²»ÊÇa_char_xxxµÈµÈ¡£
ÄÇôÕâ¸öʱºò£¬Äã¿ÉÄÜ»áÎÊ£¬ÎÒÖªµÀÁË£¬¿ÉÊÇÕâÑù×öÓÐʲôÓÃÄØ£¿¾ÍÊDz»¼Óextern£¬ÎÒ»¹ÊÇÄܱàÒëͨ¹ý°¡£¬ÎÒ»¹ÊÇÄÜÕý³£Ö´Ðа¡¡£Ã»´í£¬ÕâЩÄã¶¼ÄÜ×öµ½£¬µ«ÊÇ£¬µ±ÕâЩº¯Êý±»·â×°ÔÚÒ»¸ö¿âÀïÄØ£¿¶ø
Ïà¹ØÎĵµ£º
»Ø¹Ë֮ǰµÄƪ·ù£¬CÓïÑÔµÄÖ÷Ì岿·Ö»ù±¾ÒѾ½éÉÜÍêÁË¡£Ö®ËùÒÔûÓнéÉÜC++µÄÏà¹ØÌØÐÔÊÇÒòΪÔÚ֮ǰµÄÎÄÕÂÖÐCºÍC++ÔÚÕâЩ·½Ãæ¶¼Óй²ÐÔ£¬ËùÒÔÔÚÃæÏò¶ÔÏó֮ǰ¡£ÎÒÃÇÏȰÑÕâЩ¹²ÐÔ¸ø½éÉÜÍê¡£Ò²¾ÍÊÇ˵ÔÚ½éÉÜÃæÏò¶ÔÏó֮ǰ£¬ËùÓеÄÎÄÕ¶¼ÊÇCC++Öж¼ÄÜʹÓõġ£´ÓÕâµãÉÏÀ´¿´£¬ÏÖÔÚÕý¼«Á¦·Ü¶·ÓÚC++Õ½ÏßÉϵijõѧÕß»¹ÊǺÜÓÐÓô¦µÄ¡£
±¾Æª¼ ......
µ±³¢ÊÔ´ÓÎļþ¶ÁÈë×Ö·ûʱ£¬getc()º¯Êý»á·µ»ØEOF£¬ËùÒÔ³ÌÐò»áÔÚÏÂÒ»´Î¶Áȡʱ²Å»á·¢ÏÖÎļþ½áβ¡£´Ëʱ³ÌÐòÔÚÊÔͼ¶ÁÈ¡¿ÕÎļþ£¬¿ÉÄܻᷢÉúһЩÎÊÌâ¡£ËùÒÔÓ¦µ±ÔÚÑ»·Èë¿Ú´¦½øÐÐÅжϡ£
int ch;
FILE * fp;
fp = fopen ("test","r");
while ((ch = getc(fp) != EOF)
{
putchar (ch);
} ......
CºÍC++µÄµãµÎ»ýÀÛ£¨1£©
1. mfc ±à³ÌÖдæÔÚ×ÅÈç¹û³öÏÖ“ÄÚ´æ²»×㔵ĶԻ°¿ò£¬Ò»ÖÖÇé¿öÊÇÔÚÉêÇëÄÚ´æµÄʱºò³öÏÖÎÊÌ⣬Ҳ¾ÍÊÇÀýÈ磺char *pChar = new char[num]; µ«´Ëʱnum ΪÁã»òÕ߸º ......
1.ÒýÑÔ
¡¡¡¡±¾ÎĵÄд×÷Ä¿µÄ²¢²»ÔÚÓÚÌṩC/C++³ÌÐòÔ±ÇóÖ°ÃæÊÔÖ¸µ¼£¬¶øÖ¼ÔÚ´Ó¼¼ÊõÉÏ·ÖÎöÃæÊÔÌâµÄÄÚº¡£ÎÄÖеĴó¶àÊýÃæÊÔÌâÀ´×Ô¸÷´óÂÛ̳£¬²¿·ÖÊÔÌâ½â´ðÒ²²Î¿¼ÁËÍøÓѵÄÒâ¼û¡£
¡¡¡¡Ðí¶àÃæÊÔÌâ¿´ËÆ¼òµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔÕßдһ¸ö×î¼òµ¥µÄstrcpyº¯Êý¶¼¿É¿´³öÃæÊÔÕßÔÚ¼¼ÊõÉϾ¿¾¹´ïµ½ÁËÔõÑùµÄ ......
¿ª·¢»·¾³£ºUbuntu9.10,python2.6,gcc4.4.11,ubuntuϵÄpythonÔËÐаüºÍ¿ª·¢°üÊÇ·Ö¿ªµÄ£¬Òò´ËÐèÒªÔÚÐÂÀûµÃÀïÃæ°²×°python-all-dev,´Ó¶ø¿ÉÒÔÔÚ´úÂëÖÐÒýÓÃpythonµÄÍ·ÎļþºÍ¿â¡£2.ÏÂÃæÊÇÒ»¸ö×î¼òµ¥µÄ¿ÉÒÔ¹©pythonµ÷ÓõÄcÀ©Õ¹Ä£¿é£¬¼ÙÉèc³ÌÐòÎļþÃûΪfoo.c:´úÂë#include <Python.h>
static PyObject* foo_b ......