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

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

1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï¾¹ÊÇÒ»ÖÖÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼ÆÓïÑÔ£¬ÎªÁËÖ§³Öº¯ÊýµÄÖØÔØ£¬C++¶ÔÈ«¾Öº¯ÊýµÄ´¦Àí·½Ê½ÓëCÓÐÃ÷ÏԵIJ»Í¬¡£
2.´Ó±ê׼ͷÎļþ˵Æð
¡¡¡¡Ä³ÆóÒµÔø¾­¸ø³öÈçϵÄÒ»µÀÃæÊÔÌ⣺
¡¡¡¡ÃæÊÔÌâ
¡¡¡¡ÎªÊ²Ã´±ê׼ͷÎļþ¶¼ÓÐÀàËÆÒÔϵĽṹ£¿
#ifndef __INCvxWorksh
#define __INCvxWorksh
#ifdef __cplusplus
extern "C" {
#endif
/*...*/
#ifdef __cplusplus
}
#endif
#endif /* __INCvxWorksh */
¡¡¡¡·ÖÎö
¡¡¡¡ÏÔÈ»£¬Í·ÎļþÖеıàÒëºê“#ifndef __INCvxWorksh¡¢#define __INCvxWorksh¡¢#endif” µÄ×÷ÓÃÊÇ·ÀÖ¹¸ÃÍ·Îļþ±»Öظ´ÒýÓá£
¡¡¡¡ÄÇô
#ifdef __cplusplus
extern "C" {
¡¡#endif
¡¡#ifdef __cplusplus
}
#endif 
¡¡¡¡µÄ×÷ÓÃÓÖÊÇÊ²Ã´ÄØ£¿ÎÒÃǽ«ÔÚÏÂÎÄÒ»Ò»µÀÀ´¡£
¡¡¡¡3.Éî²ã½ÒÃÜextern "C"
¡¡¡¡extern "C" °üº¬Ë«Öغ¬Ò壬´Ó×ÖÃæÉϼ´¿ÉµÃµ½£ºÊ×ÏÈ£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“extern”µÄ£»Æä´Î£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“C”µÄ¡£ÈÃÎÒÃÇÀ´Ïêϸ½â¶ÁÕâÁ½Öغ¬Òå¡£
¡¡¡¡±»extern "C"ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇexternÀàÐ͵ģ»
¡¡¡¡externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö£¬¸Ã¹Ø¼ü×Ö¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔÔÚ±¾Ä£¿é»òÆäËüÄ£¿éÖÐʹÓ᣼Çס£¬ÏÂÁÐÓï¾ä£º
¡¡¡¡extern int a;
¡¡¡¡½ö½öÊÇÒ»¸ö±äÁ¿µÄÉùÃ÷£¬Æä²¢²»ÊÇÔÚ¶¨Òå±äÁ¿a£¬²¢Î´Îªa·ÖÅäÄÚ´æ¿Õ¼ä¡£±äÁ¿aÔÚËùÓÐÄ£¿éÖÐ×÷ΪһÖÖÈ«¾Ö±äÁ¿Ö»Äܱ»¶¨ÒåÒ»´Î£¬·ñÔò»á³öÏÖÁ¬½Ó´íÎó¡£
¡¡¡¡Í¨³££¬ÔÚÄ£¿éµÄÍ·ÎļþÖжԱ¾Ä£¿éÌṩ¸øÆäËüÄ£¿éÒýÓõĺ¯ÊýºÍÈ«¾Ö±äÁ¿ÒԹؼü×ÖexternÉùÃ÷¡£ÀýÈ磬Èç¹ûÄ£¿éBÓûÒýÓøÃÄ£¿éAÖж¨ÒåµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýʱֻÐè°üº¬Ä£¿éAµÄÍ·Îļþ¼´¿É¡£ÕâÑù£¬Ä£¿éBÖе÷ÓÃÄ£¿éAÖеĺ¯Êýʱ£¬ÔÚ±àÒë½×¶Î£¬Ä£¿éBËäÈ»ÕÒ²»µ½¸Ãº¯Êý£¬µ«ÊDz¢²»»á±¨´í£»Ëü»áÔÚÁ¬½Ó½×¶ÎÖдÓÄ£¿éA±àÒëÉú³ÉµÄÄ¿±ê´úÂëÖÐÕÒµ½´Ëº¯Êý¡£
¡¡¡¡Óëextern¶ÔÓ¦µÄ¹Ø¼ü×ÖÊÇstatic£¬±»ËüÐÞÊεÄÈ«¾Ö±äÁ¿ºÍº¯ÊýÖ»ÄÜÔÚ±¾Ä£¿éÖÐʹÓá£Òò´Ë£¬Ò»¸öº¯Êý»ò±äÁ¿Ö»¿ÉÄܱ»±¾Ä£¿éʹÓÃʱ£¬Æä²»¿ÉÄܱ»extern “C”ÐÞÊΡ£
¡¡¡¡±»extern "C"ÐÞÊεıäÁ¿ºÍº¯Êý


Ïà¹ØÎĵµ£º

Linux CÓïÑÔѧϰ±Ê¼Ç

1¡¢int    4×Ö½Ú
   long   8×Ö½Ú
   float  4×Ö½Ú
   double 8×Ö½Ú
   long double 16×Ö½Ú
2¡¢Ò»¸ö×Ö·û±äÁ¿Ö»ÄÜ´æ·ÅÒ»¸ö×Ö·û¡¢Ò»¸ö×Ö½Ú´æ·ÅÒ»¸ö×Ö½Ú
   char c;
   c = 'a';    c = '\034'   ......

Axis C++ÔÚRedhat LinuxÉϰ²×°(δÍê´ýÕûÀí)

ÏÂÔØµÄ°æ±¾ÊÇAxis C++ 1.6 Beta
¿Í»§¶ËºÍ·þÎñÆ÷¶Ë¶¼ÐèҪʵÏÖ°²×°xml½âÎöÆ÷
Xerces C++ (2.2.0)
·þÎñÆ÷¶Ë»¹ÐèÒªapache1.3.x»òÕß2.0.x
Ò»¡¢·þÎñÆ÷¶Ë°²×°
1¡¢°²×°Axis C++
2¡¢°²×°Apache£¬ÎÒÃDzÉÓÃApache 2.2.6
×¢ÒâÒ»¶¨ÒªApache 1.3.x use --enable-module=so; for Apache 2.0.x use --enable-so when configuring£¬± ......

˳ʱÕë·½·¨ ½â¶Á C ¸´ÔӺ궨Òå

[This was posted to comp.lang.c by its author, David Anderson, on 1994-05-06.]
The ``Clockwise/Spiral Rule''
By David Anderson
There is a technique known as the ``Clockwise/Spiral Rule'' which enables any C programmer to parse in their head any C declaration!
There are three simple steps to fo ......

C/C++Çó×î´ó¹«Ô¼ÊýºÍ×îС¹«±¶Êý£¨×ª£©

ÏÂÃæÓõ½µÄ·½·¨½ÐշתÏà³ý·¨£¬¾ß×ö²½ÖèÈçÏ   
    
   ÏÈÓÃСµÄÒ»¸öÊý³ý´óµÄÒ»¸öÊý£¬µÃµÚÒ»¸öÓàÊý£»   
   ÔÙÓõÚÒ»¸öÓàÊý³ýСµÄÒ»¸öÊý£¬µÃµÚ¶þ¸öÓàÊý£»   
   ÓÖÓõڶþ¸öÓàÊý³ýµÚÒ»¸öÓàÊý£¬µÃµÚÈý¸öÓàÊý£» &nb ......

¹ØÓÚC¡¢C++ÖеÄconstºÍÖ¸Õë

żȻµÄÒòËØ£¬¶ÔconstÀ´Á˵ãÐËȤ£¬×öÁËÒ»ÏÂʵÑ飺
1. Óï·¨£ºconst¡¢Ö¸Õë
       ÔÚgccÖУ¬ ¶ÔÓÚCÓïÑÔ£¬ÏÂÃæµÄÓï¾äÊǺϷ¨µÄ£º
const int a=0;
int *p=&a;
      ¶øC++ÖУ¬ÐèÒªÊÖ¹¤Ç¿ÖÆ×ª»»²ÅÄܱàÒëͨ¹ý£º
        ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ