̽Ë÷C++µÄÃØÃÜÖ®Ïê½âextern C
ʱ³£ÔÚcppµÄ´úÂëÖ®Öп´µ½ÕâÑùµÄ´úÂë: PnQ
PnQ
#ifdef __cplusplus PnQ
extern "C" { PnQ
#endif PnQ
PnQ
//Ò»¶Î´úÂë PnQ
PnQ
#ifdef __cplusplus PnQ
} PnQ
#endif PnQ
¡¡¡¡ÕâÑùµÄ´úÂëµ½µ×ÊÇʲôÒâ˼ÄØ£¿Ê×ÏÈ£¬__cplusplusÊÇcppÖеÄ×Ô¶¨Òåºê£¬ÄÇô¶¨ÒåÁËÕâ¸öºêµÄ»°±íʾÕâÊÇÒ»¶ÎcppµÄ´úÂ룬Ҳ¾ÍÊÇ˵£¬ÉÏÃæµÄ´úÂëµÄº¬ÒåÊÇ:Èç¹ûÕâÊÇÒ»¶ÎcppµÄ´úÂ룬ÄÇô¼ÓÈëextern "C"{ºÍ}´¦ÀíÆäÖеĴúÂë¡£ PnQ
PnQ
¡¡¡¡ÒªÃ÷°×ΪºÎʹÓÃextern "C"£¬»¹µÃ´ÓcppÖжԺ¯ÊýµÄÖØÔØ´¦Àí¿ªÊ¼ËµÆð¡£ÔÚc++ÖУ¬ÎªÁËÖ§³ÖÖØÔØ»úÖÆ£¬ÔÚ±àÒëÉú³ÉµÄ»ã±àÂëÖУ¬Òª¶Ôº¯ÊýµÄÃû×Ö½øÐÐһЩ´¦Àí£¬¼ÓÈë±ÈÈ纯ÊýµÄ·µ»ØÀàÐ͵ȵÈ.¶øÔÚCÖУ¬Ö»ÊǼòµ¥µÄº¯ÊýÃû×Ö¶øÒÑ£¬²»»á¼ÓÈëÆäËûµÄÐÅÏ¢.Ò²¾ÍÊÇ˵:C++ºÍC¶Ô²úÉúµÄº¯ÊýÃû×ֵĴ¦ÀíÊDz»Ò»ÑùµÄ. PnQ
PnQ
¡¡¡¡±ÈÈçÏÂÃæµÄÒ»¶Î¼òµ¥µÄº¯Êý£¬ÎÒÃÇ¿´¿´¼ÓÈëºÍ²»¼ÓÈëextern "C"²úÉúµÄ»ã±à´úÂ붼ÓÐÄÄЩ±ä»¯: PnQ
PnQ
int f(void) PnQ
{ PnQ
return 1; PnQ
} PnQ
¡¡¡¡ÔÚ¼ÓÈëextern "C"µÄʱºò²úÉúµÄ»ã±à´úÂëÊÇ: PnQ
PnQ
.file "test.cxx" PnQ
.text PnQ
.align 2 PnQ
.globl _f PnQ
.def _f; .scl 2; .type 32; .endef PnQ
_f: PnQ
pushl %ebp PnQ
movl %esp£¬ %ebp PnQ
movl $1£¬ %eax PnQ
popl %ebp PnQ
ret PnQ
¡¡¡¡µ«ÊDz»¼ÓÈëÁËextern "C"Ö®ºó PnQ
PnQ
.file "test.cxx" PnQ
.text PnQ
.align 2 PnQ
.globl __Z1fv PnQ
.def __Z1fv; .scl 2; .type 32; .endef PnQ
__Z1fv: PnQ
pushl %ebp PnQ
movl %esp£¬ %ebp PnQ
movl $1£¬ %eax PnQ
popl %ebp PnQ
ret PnQ
¡¡¡¡Á½¶Î»ã±à´úÂëͬÑù¶¼ÊÇʹÓÃgcc -SÃüÁî²úÉúµÄ£¬ËùÓеĵط½¶¼ÊÇÒ»ÑùµÄ£¬Î¨¶ÀÊDzúÉúµÄº¯ÊýÃû£¬Ò»¸öÊÇ_f£¬Ò»¸öÊÇ__Z1fv¡£ PnQ
PnQ
¡¡¡¡Ã÷°×Á˼ÓÈëÓë²»¼ÓÈëextern "C"Ö®ºó¶Ôº¯ÊýÃû³Æ²úÉúµÄÓ°Ï죬ÎÒÃǼÌÐøÎÒÃǵÄÌÖÂÛ:ΪʲôÐèҪʹÓÃextern "C"ÄØ£¿C++Ö®¸¸ÔÚÉè¼ÆC++֮ʱ£¬¿¼Âǵ½µ±Ê±ÒѾ´æÔÚÁË´óÁ¿µÄC´úÂ룬ΪÁËÖ§³ÖÔÀ´µÄC´úÂëºÍÒѾдºÃC¿â£¬ÐèÒªÔÚC++Öо¡¿ÉÄܵÄÖ§³ÖC£¬¶øextern "C"¾ÍÊÇÆäÖеÄÒ»¸ö²ßÂÔ¡£ PnQ
PnQ
¡¡¡¡ÊÔÏëÕâÑùµÄÇé¿ö:Ò»¸ö¿âÎļþÒѾÓÃCдºÃÁ˶øÇÒÔËÐеúÜÁ¼ºÃ£¬Õâ¸öʱºòÎÒÃÇÐèҪʹÓÃÕâ¸ö¿âÎļþ£¬µ«ÊÇÎÒÃÇÐèҪʹÓÃC++À´Ð´Õâ¸öеĴúÂë¡£Èç¹ûÕâ¸ö´úÂëʹÓõÄÊÇC++µÄ·½Ê½Á´½ÓÕâ¸öC¿âÎļþµÄ»°£¬ÄÇô¾Í»á³öÏÖÁ´½Ó´íÎó.ÎÒÃÇÀ´¿´Ò»¶Î´úÂë:Ê×ÏÈ£¬ÎÒÃÇʹÓÃCµÄ´¦Àí·½Ê½À´Ð´Ò»¸öº¯Êý£¬Ò²¾ÍÊÇ˵¼ÙÉèÕâ¸öº¯Êýµ±Ê±ÊÇÓÃCд³ÉµÄ: PnQ
PnQ
//f1.c PnQ
ex
Ïà¹ØÎĵµ£º
VC++³ÌÐòÔ±Ó¦µ±ÈçºÎÔĶÁADOÎĵµ
¡¶ADO API²Î¿¼¡·ÓÃVBµÄÓï·¨ÃèÊöÁËADO APIµÄÄÚÈÝ¡£µ«ADO³ÌÐòԱȴʹÓÃ×Ų»Í¬µÄ±à³ÌÓïÑÔ£¬±ÈÈçVB,VC++£¬VJ++¡£¶Ô´Ë¡¶ADO for VC++µÄÓï·¨Ë÷Òý¡·ÌṩÁË·ûºÏVC++Óï·¨¹æ·¶µÄÏêϸÃèÊö£¬°üÀ¨¹¦ÄÜ¡¢²ÎÊý¡¢Òì³£´¦ÀíµÈµÈ¡£
ADO»ùÓÚÈô¸ÉµÄCOM½è¿ÚʵÏÖ£¬Òò´ËËüµÄʹÓöÔÓÚÒ»¸öÕý½øÐÐCOM±à³ÌµÄ³ÌÐòÔ±¶øÑÔ¸ü ......
C++ Boost¿â¼ò½é
boostÖ÷Òª°üº¬Ò»Ï¼¸¸ö´óÀࣺ×Ö·û´®¼°Îı¾´¦Àí¡¢ÈÝÆ÷¡¢µü´ú×Ó(Iterator)¡¢Ëã·¨¡¢º¯Êý¶ÔÏóºÍ¸ß½×±à³Ì¡¢·ºÐͱà³Ì¡¢Ä£°åÔª±à³Ì¡¢Ô¤´¦ÀíÔª±à³Ì¡¢²¢·¢±à³Ì¡¢ÊýѧÏà¹Ø¡¢¾À´íºÍ²âÊÔ¡¢Êý¾Ý½á¹¹¡¢ÊäÈë/Êä³ö¡¢¿çÓïÑÔÖ§³Ö¡¢ÄÚ´æÏà¹Ø¡¢Óï·¨·ÖÎö¡¢ÔÓÏî¡£ ÓÐһЩ¿âÊÇ¿çÀà±ð°üº¬µÄ£¬¾ÍÊǼÈÊôÓÚÕâ ......
#(¶Á×ö "C sharp")ÊÇ΢Èí¹«Ë¾ÔÚÈ¥ÄêÁùÔ·¢²¼µÄÒ»ÖÖеıà³ÌÓïÑÔ,²¢¶¨ÓÚÔÚ΢ÈíÖ°Òµ¿ª·¢ÕßÂÛ̳(PDC)ÉϵÇ̨ÁÁÏà.C#ÊÇ΢Èí¹«Ë¾Ñо¿Ô±Anders HejlsbergµÄ×îгɹû.C#¿´ÆðÀ´ÓëJavaÓÐמªÈ˵ÄÏàËÆ;Ëü°üÀ¨ÁËÖîÈçµ¥Ò»¼Ì³Ð,½çÃæ,ÓëJava¼¸ºõͬÑùµÄÓï·¨,ºÍ±àÒë³ÉÖмä´úÂëÔÙÔËÐеĹý³Ì.µ«ÊÇC#ÓëJavaÓÐ×ÅÃ÷ÏԵIJ»Í¬,Ëü½è¼øÁËDelphiµÄÒ»¸ ......
const£¬c\c++Öзdz£³£ÓõĹؼü×Ö¡£
Ê×ÏÈÎÒÃÇ¿´¿´constÓÐÄÇЩÐÞÊη½·¨¡£
×îÇ°ÃæÎÒÃÇÀ´¿´Ò»¸öÎÊÌâ¡£
char *p = "123";
¿ÉÄÜÓеÄÈ˲»ÖªµÀ£¬ÕâÀïµÄÕâ¸ö"123"ÊÇ´æ´¢ÔÚ³£Á¿ÇøµÄ£¬²»ÈÝÐíÐ޸ĵġ£
Ò²¾ÍÊÇ˵ËüÊǸöconstÀàÐ͵ġ£
±ê×¼µÄд·¨Ó¦¸ÃÊÇ
char const *p = "123";
ÖÁÓÚΪʲô±àÒëÆ÷ÈÝÐíÉÏÃæµÄÄǸö²»±ê×¼µÄд·¨£¬¿ÉÄ ......
¾³£ÐèÒªÔÚ³ÌÐòÖн«Ô¶³Ì´«À´µÄ×Ö½ÚÁ÷½øÐнṹ»¯£¬»òÕß½«½á¹¹»¯µÄÊý¾Ý±ä³É×Ö½ÚÁ÷´«¸øÔ¶³ÌÖ÷»ú¡£ÔÚC/C++³ÌÐòÖУ¬½á¹¹»¯Êý¾Ýͨ³£ÓýṹÌåÀ´×éÖ¯£¬½á¹¹ÌåÒ²Äܹ»·½±ãµÄת»»Îª×Ö½ÚÁ÷£¬Òò´Ë½á¹¹»¯µÄÊý¾Ý´«Êä±¾²»¸Ã³ÉΪÎÊÌ⣬µ«ÔÚVC»òGCCµÄĬÈÏÉèÖÃϱàÒë³öµÄ³ÌÐò£¬È´ÓÐÒ»¸öÖµµÃ×¢ÒâµÄÎÊÌâ——½á¹¹ÌåµÄ¶ÔÆë¡£ ......