Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

extern "C" ÔĶÁ±Ê¼Ç zz

·¢ÐÅÈË: RoachCock (·´¶¯Ñ§ÊõȨÍþ), ÐÅÇø: CPlusPlus
±ê  Ìâ: extern "C" ÔĶÁ±Ê¼Ç
·¢ÐÅÕ¾: ˮľÉçÇø (Fri Mar  7 00:22:47 2008), Õ¾ÄÚ
±¾ÒÔΪºÜ¼òµ¥£¬×ÐϸÔĶÁÁËһϠC++ ±ê×¼£¬·¢ÏÖÄÚÈÝ»¹²»ÉÙ¡£×ܽáÁËһϡ£
Òªµã£º
º¯ÊýÀàÐÍ£¬º¯ÊýÃû£¬±äÁ¿Ãû¾ßÓÐÓïÑÔÁ´½ÓÐÔ£¬language linkage¡£
ÓïÑÔÁ´½ÓÐÔ¿ÉÄÜ»áÓ°Ïìµ½Ãû×ÖÒÔ¼°µ÷ÓÃÔ¼¶¨µÈ£¬ÓÉʵÏÖ¾ö¶¨¡£
C++ ĬÈϵÄÓïÑÔÁ¬½ÓÐÔÊÇ C++ ÓïÑÔÁ´½ÓÐÔ¡£
ÓïÑÔÁ´½ÓÐÔ½ö×÷ÓÃÓÚº¯ÊýÀàÐÍ£¬º¯ÊýÃû£¬±äÁ¿Ãû¡£
²»Í¬ÓïÑÔÁ´½ÓÐԵĺ¯ÊýÀàÐÍÊDz»Í¬µÄÀàÐÍ£¬¼´±ãÆäÓàµÄµØ·½¶¼Ïàͬ¡£
ÓïÑÔÁ´½ÓÐÔÓÃÁ´½ÓÐÔ¹æ¸ñ£¨linkage-specification£©À´ÉùÃ÷£¬·ÖÓÐÎÞ´óÀ¨ºÅÁ½ÖÖÐÎʽ¡£
        extern string-literal { declaration-seq opt }
        extern string-literal declaration;
ËùÓеÄʵÏÖ¶¼±ØÐëÖ§³Ö "C" ºÍ "C++" Á´½ÓÐÔ¡£
Á´½ÓÐÔ¹æ¸ñÔÊÐíǶÌ×£¬´Ëʱ×îÄÚ²ãµÄÄǸöÆð×÷Ó㬵«ÊDz¢²»½¨Á¢×÷ÓÃÓò¡£
extern "C" { extern "C++" { class A{}; } }
extern "C" { class B:A{};} 
        ÒòΪ²»ÊÇ×÷ÓÃÓò£¬B ¿ÉÒÔ¿´µ½ A
Èç¹ûCÁ´½ÓÐÔÊ©¼Óµ½C++Àà³ÉÔ±ºÍ³ÉÔ±º¯ÊýµÄÀàÐÍ£¬ºöÂÔCÁ´½ÓÐÔ£¬µ«ÊÇÆäÓàµÄµØ·½ÒÀÈ»ÓÐЧ£¬±ÈÈç³ÉÔ±º¯ÊýµÄ²ÎÊý¡£
        ±ÈÈ磺
        extern "C" { class A{ void f(void (*p)()){} }; }
        A ²»ÊǺ¯ÊýºÍ±äÁ¿£¬Ã»ÓÐÓïÑÔÁ´½ÓÐÔ
        f ÊÇ C++ ³ÉÔ±º¯Êý£¬ºöÂÔËùÖ¸¶¨µÄ C Á´½ÓÐÔ£¬Èç¹ûÔÚÍâ²ãûָ¶¨±ðµÄ£¬¾ÍÊÇ
        C++Á´½ÓÐÔ¡£
        p ¾ßÓÐ C Á´½ÓÐÔ¡£
³ýÁËC++Á´½ÓÐԵĺ¯ÊýÍ⣬ͬһ¸öº¯Êý²»´øÁ´½ÓÐÔ¹æ¸ñµÄÉùÃ÷µÄº¯Êý²»ÄÜÔçÓÚ´øµÄ¡£
Èç¹ûÇ°ÃæÉùÃ÷ÁË´øÁ´½ÓÐÔ¹æ¸ñµÄÐÎʽ£¬ºóÃæÓÖ³öÏÖÁ˲»´øµÄÐÎʽ£¬²»ÊÜÓ°Ïì¡£
        ±ÈÈç extern "C" void foo(); void foo(); ÊÇ¿ÉÒԵģ¬·´¹ýÀ´²»ÐС£
        µ«ÊÇ extern void foo(); extern "C++" void foo(); ¿ÉÒÔ¡£
Ìض¨Ãû×ÖµÄ C ÓïÑÔÁ´½ÓÐԵĺ¯Êý×î¶àÖ»ÄÜÓÐÒ»¸ö£¬¼´±ã·ÅÔÚ²»Í¬µÄ namespace À
Ò²ÊÇͬһ¸


Ïà¹ØÎĵµ£º

C/C++º¯Êýµ÷ÓÃÔ¼¶¨


¹ØÓÚ C/C++ º¯Êýµ÷ÓÃÔ¼¶¨£¬´ó¶àÊýʱºò²¢²»»áÓ°Ïì³ÌÐòÂß¼­£¬µ«Óöµ½¿çÓïÑÔ±à³Ìʱ£¬Á˽âһϻ¹ÊÇÓкô¦µÄ¡£
VC ÖÐĬÈϵ÷ÓÃÊÇ __cdecl ·½Ê½£¬Windows API ʹÓà __stdcall µ÷Ó÷½Ê½£¬ÔÚ DLL µ¼³öº¯ÊýÖУ¬ÎªÁ˸ú Windows API ±£³ÖÒ»Ö£¬½¨ÒéʹÓà __stdcall ·½Ê½¡£
µ÷ÓÃÔ¼¶¨¸ú¶ÑÕ»Çå³ýÃÜÇÐÏà¹Ø¡£Èç¹ûдһ¸ö»ã±àº¯Êý£¬¸ø C/C++ ......

linuxÏÂCÓïÑÔ¶àÏ̱߳à³ÌʵÀý

ѧ¶«Î÷£¬ÍùÍùʵÀý²ÅÊÇ×îÈÃÈ˸ÐÐËȤµÄ£¬ÀÏÊÇѧ»ù´¡ÀíÂÛ£¬²»¶¯ÊÖ£¬¸Ð¾õûÓгɾ͸У¬ºÇºÇ¡£
ÏÂÃæÏÈÀ´Ò»¸öʵÀý¡£ÎÒÃÇͨ¹ý´´½¨Á½¸öÏß³ÌÀ´ÊµÏÖ¶ÔÒ»¸öÊýµÄµÝ¼Ó¡£
»òÐíÕâ¸öʵÀýûÓÐʵ¼ÊÔËÓõļÛÖµ£¬µ«ÊÇÉÔ΢¸Ä¶¯Ò»Ï£¬ÎÒÃǾͿÉÒÔÓõ½ÆäËûµØ·½È¥À­¡£
ÏÂÃæÊÇÎÒÃǵĴúÂ룺
/*thread_example.c :  c multiple thread programmi ......

¹ØÓÚC/C++ ±í´ïʽÇóֵ˳Ðò 䶨Òå

±í´ïʽµÄ¸±×÷ÓÃ
ÔËËã·ûµÄÓÅÏȼ¶Óë½áºÏÐԹ涨Á˱í´ïʽÖÐÏàÁÚÁ½¸öÔËËã·ûµÄÔËËã´ÎÐò£¬µ«¶ÔÓÚË«Ä¿
ÔËËãµÄ²Ù×÷Êý£¬C++ûÓй涨ËûÃǵļÆËã´ÎÐò¡£ÀýÈ磬¶ÔÓÚ±í´ïʽ£º
exp1 + exp2;
ÏȼÆËã exp1 »¹ÊÇ exp2£¿²»Í¬µÄ±àÒëÆ÷Óв»Í¬µÄ×ö·¨¡£
ÔÚÊýѧÉÏ£¬¶ÔÓÚË«Ä¿ÔËËã·û£¬²»ÂÛÏȼÆËãÄÄÒ»¸ö²Ù×÷Êý£¬ÒªÇó×îÖÕ¼ÆËã½á¹ûÒ»Ñù¡£
ÔÚ C++ ......

C++ÖÐextern ¡°C¡±º¬ÒåÉî²ã̽Ë÷

±¾ÎĹؼü´Ê£º c++ º¬Òå
1.ÒýÑÔ
C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌص㣨±»ÊÀÈ˳ÆΪ“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ