Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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 À
Ò²ÊÇͬһ¸


Ïà¹ØÎĵµ£º

linuxÄÚºËÒÆÖ²s3c2410£¬ÒÆÖ²Õýʽ¿ªÊ¼1

ÔÚÇ°ÃæµÄ×¼±¸¹¤×÷Íê³ÉÖ®ºó£¬ÏÈʵÑéһϣ¬Ì¸²»ÉÏÕæÕýµÄÒÆÖ² £¬ÒòΪ´úÂ붼ûÓиĵġ£
Ê×ÏÈÐ޸Ķ¥²ãµÄMakefile£¬ÐÞ¸ÄARCH,CROSS_COMPLIE±äÁ¿¡£
#ARCH        ?= $(SUBARCH)
ARCH        ?= arm
CROSS_COMPILE    ?= arm-linux-
Ö´ÐÐmake smd ......

extern¼°extern ¡°C¡±Ó÷¨

externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×ÖËü¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔÔÚ±¾Ä£¿é»òÆäËüÄ£¿éÖÐʹÓá£
1¡£¶ÔÓÚextern±äÁ¿À´Ëµ£¬½ö½öÊÇÒ»¸ö±äÁ¿µÄÉùÃ÷£¬Æä²¢²»ÊÇÔÚ¶¨Òå·ÖÅäÄÚ´æ¿Õ¼ä¡£Èç¹û¸Ã±äÁ¿¶¨Òå¶à´Î£¬»áÓÐÁ¬½Ó´íÎó
2¡£Í¨³££¬ÔÚÄ£¿éµÄÍ·ÎļþÖжԱ¾Ä£¿éÌṩ¸øÆäËüÄ£¿éÒýÓõĺ¯ÊýºÍÈ«¾Ö±äÁ ......

±ê×¼C/C++³ÌÐòͨ¹ýgSOAPµ÷ÓÃWebService

ת×Ô£ºhttp://commandos.blog.51cto.com/154976/130652
Ò»¡¢ »·¾³×¼±¸
ÔÚ±¾ÎÄÖУ¬ËùÓгÌÐò¾ùÔÚLinuxÏ¿ª·¢Íê³É£¬¾­²âÊÔÄܹ»Õý³£ÔËÐС£
ÔÚ¿ª·¢¹ý³ÌÖУ¬ÎÒÃÇÐèÒªÓõ½gSOAP£¬¿ÉÒÔ´ÓÒÔÏÂÍøÖ·ÏÂÔØ»ñµÃ£º[url]http://www.cs.fsu.edu/~engelen/soap.html[/url]
ÎÒÏÂÔØµÄÊÇgsoap_2.7.12.tar.gz
ÏÂÔØÏÂÀ´½âѹËõ£¬°´Õý³£°²×°¹ý ......

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


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

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

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