²»¿ÉС¿´µÄextern "C"
ÏîÄ¿ÖÐÒªÓõ½Ò»¸öÄ£¿é¡£¿´ÁËϸÃÄ£¿éµÄÓ÷¨£¬¾ÍÒÀºù«»Æ°µÄ°áµ½×Ô¼ºµÄ´úÂëÀïÃæÀ´ÁË¡£²»¹ýÔÚ±àÒëµÄʱºòÅöµ½ÁËÂé·³£¬ ÔÚ³ÌÐòÁ´½ÓµÄʱºò³ö´í£º“undefined reference to***",Ó¦¸ÃÊÇÒòΪûÓаüº¬ÏàÓ¦µÄ¿âÎļþ°É¡£
ÓÚÊDZȽÏÁËmake fileÎļþµÄд·¨£¬ÊÔͼÔÚÎÒÕâ±ßµÄmakefile ÖмÓÉÏÏàÓ¦µÄ¿â¡£µ«ÊÇÕÛÌÚÁ˰ëÌ죬δ½â¾ö¡£ÔÚÍøÉÏËÑÁ˰ëÌ죬ûÓеãÍ·Ð÷£¬ºöȻһ¸öÌû×ÓÖеÄÒ»¾ä»°ÌáÐÑÁËÎÒ£¬“»òÕß¾ÍÊÇc£«£« ºÍc¶ÔͬÃûµÄº¯Êý±àÒë³öµÄº¯ÊýÃû×ÖÊDz»Ò»ÑùµÄ¡£ËùÒÔÄØÒªextern c”¡£¸Ï½ô¿´ÎÒÃǵĴúÂ룡¹ûÈ»£¬ÎÒÒýÓõÄÄ£¿éÊÇÓÃcдµÄ£¬µ«ÊÇËüµÄÏàÓ¦º¯ÊýûÓ÷ÅÔÚextern C{}ÄÚ£»¶øÎÒÕⲿ·ÖÓõÄÊÇC++¡£¡£¡£
ÓÚÊÇÔÚÏàÓ¦²¿Î»¼ÓÉÏ #ifdef __cplusplus
extern "C" {
#endif
ºÍ#ifdef __cplusplus
}
#endif¡£Á´½Óͨ¹ýÁË!
Ò»¸ö¾ÑéÊÇΪÁËc´úÂëÄÜÔÚC++Öз½±ãµÄʹÓã¬Ò»¶¨ÒªÔÚc³ÌÐòÏàӦͷÎļþÖмÓÉÏ extern "C"¡£
Ïà¹ØÎĵµ£º
ÐÅÔë±È( S N )ÊÇÖ¸´«ÊäÐÅºÅµÄÆ½¾ù¹¦ÂÊÓë¼ÓÐÔÔëÉùµÄƽ¾ù¹¦ÂÊÖ®±È¡£
ÔØÔë±È(C N )Ö¸ÒѾµ÷ÖÆµÄÐÅºÅµÄÆ½¾ù¹¦ÂÊÓë¼ÓÐÔÔëÉùµÄƽ¾ù¹¦ÂÊÖ®±È¡£
ËüÃÇͨ³£¶¼ÒÔ¶ÔÊýµÄ·½Ê½À´¼ÆË㣬µ¥Î»ÎªdB¡£
ÐÅÔë±ÈÓëÔØÔë±ÈÇø±ðÔÚÓÚ£¬ÔØÔë±ÈÖÐÒѵ÷ÐźŵŦÂʰüÀ¨ÁË´«ÊäÐźŵŦÂʺ͵÷ÖÆÔØ²¨µÄ¹¦ÂÊ£¬¶øÐÅÔë±ÈÖнö°üÀ¨´«ÊäÐźŵŦÂÊ£¬Á½ÕßÖ®¼äÏà²îÒ ......
ÈÃÎÒÃÇ´ÓÒ»¸ö·Ç³£¼òµ¥µÄÀý×Ó¿ªÊ¼£¬ÈçÏ£º
int n;
Õâ¸öÓ¦¸Ã±»Àí½âΪ“declare n as an int”£¨nÊÇÒ»¸öintÐ͵ıäÁ¿£©¡£
½ÓÏÂÈ¥À´¿´Ò»ÏÂÖ¸Õë±äÁ¿£¬ÈçÏ£º
int *p;
Õâ
¸öÓ¦¸Ã±»Àí½âΪ“declare p as an int *”£¨pÊÇÒ»¸öint
*Ð͵ıäÁ¿£©£¬»òÕß˵pÊÇÒ»¸öÖ¸ÏòÒ»¸öintÐͱäÁ¿µÄÖ¸Õë¡£ÎÒÏëÔÚÕ ......
ǰÁ½ÌìдC++ʵϰ×÷Òµ£¬Í»È»·¢ÏÖI/OÊÇÄÇôµÄİÉú£¬´òÁ˺ó¤Ê±¼äµÄÎļþ¶¼Ã»Óдò¿ª£¬½ñÌìÖÕÓÚÓеãʱ¼äÁË£¬¾ö¶¨ÕÒ±¾Ê飬ºÃºÃÕûÀíһϣ¬ºÍ´ó¼Ò¹²Ïí¡£
C++I/O
C++Ö§³ÖÁ½ÖÖI/O£¬µÚÒ»ÖÖÊÇ´ÓCÓïÑԼ̳ÐÀ´µÄ£¬Ò»ÖÖÊÇÓÉC++¶¨ÒåµÄÃæÏò¶ÔÏóI/Oϵͳ¡£
1¡¢int getchar(void);·µ»ØÒ»¸öÕûÊýÖµ£¬Ò²¿ÉÒÔÖ¸¶¨Õâ¸öֵΪchar±äÁ¿£¬ÒòΪÕâ¸ö×Ö·û°ü ......
1¡¢ÓзûºÅ±äÁ¿ÓëÎÞ·ûºÅ±äÁ¿ÖµµÄ±ä»»
½«ÓзûºÅ±äÁ¿×ª»»ÎªÎÞ·ûºÅ±äÁ¿£¬×¢Ò⸺ÊýµÄת»»¡£
2¡¢ÊýÖµµÄ½»»»
//ʹÓÃÁÙʱ±äÁ¿
void Swap1(int &a, int &b)
{
int temp = a;
a = b;
&nbs ......
Linux
ÏÂ
C
¿ª·¢——
gcc
£¬
gdb
µÄʹÓÃ
×÷Õߣº
zccst
ÎÒÃÇѧϰµÄ¹ý³ÌÓ¦¸ÃÊÇÒ»¸ö»ýÀ۵Ĺý³Ì£¬ÓÐÎÞµ½ÓУ¬ÓÖÉÙµ½¶à£¬¶ø²»ÄÜÏñÏÂɽµÄºï×Ó¡£
9
Ô·ݵÄʱºòÊǵÚÒ»´Îϵͳѧϰ
gcc, gdb, makefile
£¨Ïê¼ûÇ°Ãæ²©¿Í£©¡£Èç½ñ×÷ΪǶÈëʽϵͳµÄÒ»¸ö×é³É²¿·Ö£¬¾ö¶¨ÖØÑ§Ò»´Î£¬¸Ð¾õÀí½â¼ÓÉîÁËһЩ¡£
gcc
......