"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õѧÕß»¹ÊǺÜÓÐÓô¦µÄ¡£
±¾Æª¼ ......
CÊä³ö¸ñʽ×ܽá ÊÕ²Ø
CÊä³ö¸ñʽ×ܽá
1 Ò»°ã¸ñʽ
printf(¸ñʽ¿ØÖÆ£¬Êä³ö±íÁУ©
ÀýÈ磺printf("i=%d,ch=%c\n",i,ch);
˵Ã÷:
(1)“¸ñʽ¿ØÖÆ”ÊÇÓÃ˫ƲºÅÀ¨ÆðÀ´µÄ×Ö·û´®£¬Ò²³Æ“ת»»¿ØÖÆ×Ö·û´®”£¬Ëü°üÀ¨Á½ÖÖÐÅÏ¢£º
&nbs ......
1.±¾ÕÂ˼άµ¼Í¼£º
Example1:
char
*strcpy(char *target, const char *source) {
char *t = target;
// Copy the contents of source into target.
while(*source) *target++ = *source++;
// Null-terminate the
target.
*ta ......
¹ØÓÚ#ifdef __cplusplus extern
ÃæÊÔʱ±»Îʵ½¹ý£¬²»ÉõÃ÷ÁË£¬ÍøÉϰٶÈһϣ¬ÕûºÏÁËÁ½¸öÈÊÐÖµÄÎÄÕ£¬ÈçÏ¡£:-)
ʱ³£ÔÚcppµÄ´úÂëÖ®Öп´µ½ÕâÑùµÄ´úÂë:
#ifdef __cplusplus
extern "C" {
#endif
//Ò»¶Î´úÂë
#ifdef __cplusplus
}
#endif
¡¡¡¡
ÕâÑùµÄ´úÂëµ½µ×ÊÇʲôÒâË¼ÄØ£¿Ê×ÏÈ£¬ ......
nokia wiki£ºhttp://developer.symbian.org/wiki/index.php/Open_C_and_Open_C%2B%2B_Technical_Overview/zh-hans
symbianÉÏ¿ª·¢opencʱÐèҪעÒâµÄÎÊÌâ
http://blog.csdn.net/sizhiguo/archive/2009/05/21/4206138.aspx
µÚÒ»£ºÈçprintf¡¢sprint¡¢Îļþ²Ù×÷¡¢socket²Ù×÷µÈ£¬Ä£ÄâÆ÷ÆÁÄ»¶¼»á³öÏְׯÁµÈ´ý£¬²¢ÇÒÊÇÒ»Ö±ÏÂÈ¥¡£ ......