C/C++¶¨ÒåÈ«¾Ö±äÁ¿/³£Á¿¼¸ÖÖ·½·¨µÄÇø±ð
. ±àÒëµ¥Ôª(Ä£¿é)£º
ÔÚIDE¿ª·¢¹¤¾ß´óÐÐÆäµÀµÄ½ñÌ죬¶ÔÓÚ±àÒëµÄһЩ¸ÅÄîºÜ¶àÈËÒѾ²»ÔÙÇå³þÁË£¬ºÜ¶à³ÌÐòÔ±×îŵľÍÊÇ´¦ÀíÁ¬½Ó´íÎó(LINK ERROR), ÒòΪËü²»Ïñ±àÒë´íÎóÄÇÑù¿ÉÒÔ¸ø³öÄã³ÌÐò´íÎóµÄ¾ßÌåλÖã¬Äã³£³£¶ÔÕâÖÖ´íÎó¸Ðµ½°ÃÄÕ£¬µ«ÊÇÈç¹ûÄã¾³£Ê¹ÓÃgcc£¬makefileµÈ¹¤¾ßÔÚlinux»òÕßǶÈëʽÏÂ×ö¿ª·¢¹¤×÷µÄ»°£¬ÄÇôÄã¿ÉÄܷdz£µÄÀí½â±àÒëÓëÁ¬½ÓµÄÇø±ð£¡µ±ÔÚVCÕâÑùµÄ¿ª·¢¹¤¾ßÉϱàдÍê´úÂ룬µã»÷±àÒë°´Å¥×¼±¸Éú³ÉexeÎļþʱ£¬VCÆäʵ×öÁËÁ½²½¹¤×÷£¬µÚÒ»²½£¬½«Ã¿¸ö.cpp(.c)ºÍÏàÓ¦.hÎļþ±àÒë³ÉobjÎļþ£»µÚ¶þ²½£¬½«¹¤³ÌÖÐËùÓеÄobjÎļþ½øÐÐLINKÉú³É×îÖÕµÄ.exeÎļþ£¬ÄÇô´íÎó¾ÍÓпÉÄÜÔÚÁ½¸öµØ·½²úÉú£¬Ò»¸öÊDZàÒëʱµÄ´íÎó£¬Õâ¸öÖ÷ÒªÊÇÓï·¨´íÎó£¬ÁíÒ»¸öÊÇÁ¬½Ó´íÎó£¬Ö÷ÒªÊÇÖØ¸´¶¨Òå±äÁ¿µÈ¡£ÎÒÃÇËù˵µÄ±àÒëµ¥Ôª¾ÍÊÇÖ¸ÔÚ±àÒë½×¶ÎÉú³ÉµÄÿ¸öobjÎļþ£¬Ò»¸öobjÎļþ¾ÍÊÇÒ»¸ö±àÒëµ¥Ôª£¬Ò²¾ÍÊÇ˵һ¸öcpp(.c)ºÍËüÏàÓ¦µÄ.hÎļþ¹²Í¬×é³ÉÁËÒ»¸ö±àÒëµ¥Ôª£¬Ò»¸ö¹¤³ÌÓɺܶà¸ö±àÒëµ¥Ôª×é³É£¬Ã¿¸öobjÎļþÀï°üº¬Á˱äÁ¿´æ´¢µÄÏà¶ÔµØÖ·µÈ ¡£
2. ÉùÃ÷Ó붨ÒåµÄÇø±ð
º¯Êý»ò±äÁ¿ÔÚÉùÃ÷ʱ£¬²¢Ã»ÓиøËüʵ¼ÊµÄÎïÀíÄÚ´æ¿Õ¼ä£¬ËüÓÐʱºò¿ÉÒÔ±£Ö¤ÄãµÄ³ÌÐò±àÒëͨ¹ý£¬ µ«Êǵ±º¯Êý»ò±äÁ¿¶¨ÒåµÄʱºò£¬Ëü¾ÍÔÚÄÚ´æÖÐÓÐÁËʵ¼ÊµÄÎïÀí¿Õ¼ä£¬Èç¹ûÄãÔÚ±àÒëÄ£¿éÖÐÒýÓõÄÍⲿ±äÁ¿Ã»ÓÐÔÚÕû¸ö¹¤³ÌÖÐÈκÎÒ»¸öµØ·½¶¨ÒåµÄ»°£¬ ÄÇô¼´Ê¹ËüÔÚ±àÒëʱ¿ÉÒÔͨ¹ý£¬ÔÚÁ¬½ÓʱҲ»á±¨´í£¬ÒòΪ³ÌÐòÔÚÄÚ´æÖÐÕÒ²»µ½Õâ¸ö±äÁ¿£¡ÄãÒ²¿ÉÒÔÕâÑùÀí½â£¬ ¶Ôͬһ¸ö±äÁ¿»òº¯ÊýµÄÉùÃ÷¿ÉÒÔÓжà´Î£¬¶ø¶¨ÒåÖ»ÄÜÓÐÒ»´Î!
3. externµÄ×÷ÓÃ
externÓÐÁ½¸ö×÷Ó㬵ÚÒ»¸ö,µ±ËüÓë"C"Ò»ÆðÁ¬ÓÃʱ£¬Èç: extern "C" void fun(int a, int b); Ôò¸æËß±àÒëÆ÷ÔÚ±àÒëfunÕâ¸öº¯ÊýÃûʱ°´×ÅCµÄ¹æÔòÈ¥·ÒëÏàÓ¦µÄº¯ÊýÃû¶ø²»ÊÇC++µÄ£¬ C++µÄ¹æÔòÔÚ·ÒëÕâ¸öº¯ÊýÃûʱ»á°ÑfunÕâ¸öÃû×Ö±äµÃÃæÄ¿È«·Ç£¬¿ÉÄÜÊÇfun@aBc_int_int#%$Ò²¿ÉÄÜÊDZðµÄ£¬ÕâÒª¿´±àÒëÆ÷µÄ"Æ¢Æø"ÁË(²»Í¬µÄ±àÒëÆ÷²ÉÓõķ½·¨²»Ò»Ñù)£¬ÎªÊ²Ã´Õâô×öÄØ£¬ÒòΪC++Ö§³Öº¯ÊýµÄÖØÔØ°¡£¬ÔÚÕâÀﲻȥ¹ý¶àµÄÂÛÊöÕâ¸öÎÊÌ⣬Èç¹ûÄãÓÐÐËȤ¿ÉÒÔÈ¥ÍøÉÏËÑË÷£¬ÏàÐÅÄã¿ÉÒԵõ½ÂúÒâµÄ½âÊÍ!
µ±extern²»Óë"C"ÔÚÒ»ÆðÐÞÊαäÁ¿»òº¯Êýʱ£¬ÈçÔÚÍ·ÎļþÖÐ: extern int g_Int; ËüµÄ×÷ÓþÍÊÇÉùÃ÷º¯Êý»òÈ«¾Ö±äÁ¿µÄ×÷Ó÷¶Î§µÄ¹Ø¼ü×Ö£¬ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔÔÚ±¾Ä£¿é»îÆäËûÄ£¿éÖÐʹÓ㬼ÇסËüÊÇÒ»¸öÉùÃ÷²»ÊǶ¨Òå!Ò²¾ÍÊÇ˵BÄ£¿é(±àÒëµ¥Ôª)ÒªÊÇÒýÓÃÄ£¿é(±àÒëµ¥
Ïà¹ØÎĵµ£º
µÚһƪ£ºtypedef structÓëstructµÄÇø±ð
1. »ù±¾½âÊÍ
typedefΪCÓïÑԵĹؼü×Ö£¬×÷ÓÃÊÇΪһÖÖÊý¾ÝÀàÐͶ¨ÒåÒ»¸öÐÂÃû×Ö¡£ÕâÀïµÄÊý¾ÝÀàÐͰüÀ¨ÄÚ²¿Êý¾ÝÀàÐÍ£¨int,charµÈ£©ºÍ×Ô¶¨ÒåµÄÊý¾ÝÀàÐÍ
£¨structµÈ£©¡£
ÔÚ±à³ÌÖÐʹÓÃtypedefÄ¿µÄÒ»°ãÓÐÁ½¸ö£¬Ò»¸öÊǸø±äÁ¿Ò»¸öÒ×¼ÇÇÒÒâÒåÃ÷È·µÄÐÂÃû×Ö£¬ÁíÒ»¸öÊǼò»¯Ò»Ð©±È½Ï¸´ÔÓµÄÀàÐÍÉùÃ÷ ......
2010-04-09
µÚÊ®ÎåÕ ÊäÈë/Êä³öº¯Êý
1¡¢´íÎ󱨸æ
perrorº¯Êý void perror( char const *message);
2¡¢ÖÕÖ¹Ö´ÐÐ
void exit( int status ); ÔÐͶ¨ÒåÓÚstdlib.h
ÆäÖÐstatus²ÎÊý·µ»Ø¸ø²Ù×÷ϵͳ£¬ÓÃÓÚÌáʾ³ÌÐòÊÇ·ñÕý³£Íê³É£¬Õâ¸öÖµºÍmainº¯Êý·µ»ØµÄÕûÐÍ״̬ ......
#include <unistd.h>
#include <fcntl.h>
#include
<sys/types.h>
#include <sys/ioctl.h>
#include
<stdlib.h>
#include <stdio.h>
#include
<linux/soundcard.h>
/* ÏÂÃæµÄÈý¸ö²ÎÊýÊǸú¾ßÌåÎļþÏà¹ØµÄ£¬ÎļþʲôÑù£¬¾ÍÒªÉèÖóÉʲôÑù */
#define RATE 11025&nbs ......
linuxÊÇÒ»¸ö¸´ÔÓµÄÈí¼þϵͳ£¬ÆäÄÚºËÔ´´úÂëÍùÍù»áÓõ½Ò»Ð©ÔÚÓ¦ÓóÌÐòÉè¼ÆÖв¿³£¼ûÓïÑԳɷֺͱà³Ì¼¼ÇÉ£¬ÕâЩ¶¼ÊÇ·ÖÎöÄÚºËÔ´´úÂëµÄ»ù±¾¹¦£¬Ï£Íû´ó¼ÒÄÜÖØµãÕÆÎÕ¡£
Ê×ÏÈ£¬gcc±àÒëÆ÷´ÓÓïÑÔÀïÎüÊÕÁË“inline”ºÍ“const”¡£inlineº¯ÊýµÄ´óÁ¿Ê¹Óã¬ÓÐÀûÓÚÌá¸ßÔËÐ ......
[C/C++ Digestion] – Rule of Three,
¸´ÖÆ¿ØÖÆ
×÷Õߣº
Jason Lee @
http://blog.csdn.net/jasonblog
ÈÕÆÚ£º
2010-04-13
[1]
¸´Öƹ¹Ô캯Êý
copy constructor
Rule of Three
ÊÇÖ¸ÀàÈç¹ûÐèÒªÎö¹¹º¯Êý£¬Ôòͨ³£Ò²ÐèÒª¸´Öƹ¹Ô캯ÊýºÍ¸³Öµ²Ù×÷·û¡£¶øÆäʵϰ¹ßµØÏÔʾ±àдÕâÈýÕß±¾¾ÍÊÇÒ»¸öÁ¼ºÃµÄϰ¹ß¡£Òò ......