externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö´´Òâ²úÆ·Íø .
Ëü¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔÔÚ±¾Ä£¿é»òÆäËüÄ£¿éÖÐʹÓá£
1¡£¶ÔÓÚextern±äÁ¿À´Ëµ£¬½ö½öÊÇÒ»¸ö±äÁ¿µÄÉùÃ÷£¬Æä²¢²»ÊÇÔÚ¶¨Òå·ÖÅäÄÚ´æ¿Õ¼ä¡£Èç¹û¸Ã±äÁ¿¶¨Òå¶à´Î£¬»áÓÐÁ¬½Ó´íÎó
2¡£Í¨³££¬ÔÚÄ£¿éµÄÍ·ÎļþÖжԱ¾Ä£¿éÌṩ¸øÆäËüÄ£¿éÒýÓõĺ¯ÊýºÍÈ«¾Ö±äÁ¿ÒԹؼü×ÖexternÉùÃ÷¡£Ò²¾ÍÊÇ˵cÎļþÀïÃæ¶¨Ò壬Èç¹û¸Ãº¯Êý»òÕß±äÁ¿Ó뿪·Å¸øÍâÃæ£¬ÔòÔÚhÎļþÖÐÓÃextern¼ÓÒÔÉùÃ÷¡£ËùÒÔÍⲿÎļþÖ»ÓÃinclude¸ÃhÎļþ¾Í¿ÉÒÔÁË¡£¶øÇÒ±àÒë½×¶Î£¬ÍâÃæÊÇÕÒ²»µ½¸Ãº¯ÊýµÄ£¬µ«ÊDz»±¨´í¡£link½×¶Î»á´Ó¶¨ÒåÄ£¿éÉú³ÉµÄÄ¿±ê´úÂëÖÐÕÒµ½´Ëº¯Êý¡£
3¡£Óëextern¶ÔÓ¦µÄ¹Ø¼ü×ÖÊÇstatic£¬±»ËüÐÞÊεÄÈ«¾Ö±äÁ¿ºÍº¯ÊýÖ»ÄÜÔÚ±¾Ä£¿éÖÐʹÓá£
¡¡¡¡±»extern "C"ÐÞÊεıäÁ¿ºÍº¯ÊýÊǰ´ÕÕCÓïÑÔ·½Ê½±àÒëºÍÁ¬½ÓµÄ£»
δ¼Óextern “C”ÉùÃ÷ʱµÄ±àÒ뷽ʽ
¡¡¡¡Ê×ÏÈ¿´¿´C++ÖжÔÀàËÆCµÄº¯ÊýÊÇÔõÑù±àÒëµÄ¡£
¡¡¡¡×÷ΪһÖÖÃæÏò¶ÔÏóµÄÓïÑÔ£¬C++Ö§³Öº¯ÊýÖØÔØ£¬¶ø¹ý³ÌʽÓïÑÔCÔò²»Ö§³Ö¡£º¯Êý±»C++±àÒëºóÔÚ·ûºÅ¿âÖеÄÃû×ÖÓëCÓïÑԵIJ»Í¬¡£ÀýÈ磬¼ÙÉèij¸öº¯ÊýµÄÔÐÍΪ£º
void foo( int x, int y );
¡¡¡¡¸Ãº¯Êý±»C±àÒëÆ÷±àÒëºóÔÚ·ûºÅ¿âÖеÄÃû ......
externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö´´Òâ²úÆ·Íø .
Ëü¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔÔÚ±¾Ä£¿é»òÆäËüÄ£¿éÖÐʹÓá£
1¡£¶ÔÓÚextern±äÁ¿À´Ëµ£¬½ö½öÊÇÒ»¸ö±äÁ¿µÄÉùÃ÷£¬Æä²¢²»ÊÇÔÚ¶¨Òå·ÖÅäÄÚ´æ¿Õ¼ä¡£Èç¹û¸Ã±äÁ¿¶¨Òå¶à´Î£¬»áÓÐÁ¬½Ó´íÎó
2¡£Í¨³££¬ÔÚÄ£¿éµÄÍ·ÎļþÖжԱ¾Ä£¿éÌṩ¸øÆäËüÄ£¿éÒýÓõĺ¯ÊýºÍÈ«¾Ö±äÁ¿ÒԹؼü×ÖexternÉùÃ÷¡£Ò²¾ÍÊÇ˵cÎļþÀïÃæ¶¨Ò壬Èç¹û¸Ãº¯Êý»òÕß±äÁ¿Ó뿪·Å¸øÍâÃæ£¬ÔòÔÚhÎļþÖÐÓÃextern¼ÓÒÔÉùÃ÷¡£ËùÒÔÍⲿÎļþÖ»ÓÃinclude¸ÃhÎļþ¾Í¿ÉÒÔÁË¡£¶øÇÒ±àÒë½×¶Î£¬ÍâÃæÊÇÕÒ²»µ½¸Ãº¯ÊýµÄ£¬µ«ÊDz»±¨´í¡£link½×¶Î»á´Ó¶¨ÒåÄ£¿éÉú³ÉµÄÄ¿±ê´úÂëÖÐÕÒµ½´Ëº¯Êý¡£
3¡£Óëextern¶ÔÓ¦µÄ¹Ø¼ü×ÖÊÇstatic£¬±»ËüÐÞÊεÄÈ«¾Ö±äÁ¿ºÍº¯ÊýÖ»ÄÜÔÚ±¾Ä£¿éÖÐʹÓá£
¡¡¡¡±»extern "C"ÐÞÊεıäÁ¿ºÍº¯ÊýÊǰ´ÕÕCÓïÑÔ·½Ê½±àÒëºÍÁ¬½ÓµÄ£»
δ¼Óextern “C”ÉùÃ÷ʱµÄ±àÒ뷽ʽ
¡¡¡¡Ê×ÏÈ¿´¿´C++ÖжÔÀàËÆCµÄº¯ÊýÊÇÔõÑù±àÒëµÄ¡£
¡¡¡¡×÷ΪһÖÖÃæÏò¶ÔÏóµÄÓïÑÔ£¬C++Ö§³Öº¯ÊýÖØÔØ£¬¶ø¹ý³ÌʽÓïÑÔCÔò²»Ö§³Ö¡£º¯Êý±»C++±àÒëºóÔÚ·ûºÅ¿âÖеÄÃû×ÖÓëCÓïÑԵIJ»Í¬¡£ÀýÈ磬¼ÙÉèij¸öº¯ÊýµÄÔÐÍΪ£º
void foo( int x, int y );
¡¡¡¡¸Ãº¯Êý±»C±àÒëÆ÷±àÒëºóÔÚ·ûºÅ¿âÖеÄÃû ......
SSEÊÇÓ¢ÌØ¶ûÌá³öµÄ¼´MMXÖ®ºóÐÂÒ»´ú£¨µ±È»ÊǼ¸ÄêǰÁË£©CPUÖ¸Á£¬×îÔçÓ¦ÓÃÔÚPIIIϵÁÐCPUÉÏ¡£ÏÖÔÚÒѾµÃµ½ÁËIntel PIII¡¢P4¡¢Celeon¡¢Xeon¡¢AMD Athlon¡¢duronµÈϵÁÐCPUµÄÖ§³Ö¡£¶ø¸üеÄSSE2Ö¸Á½öµÃµ½ÁËP4ϵÁÐCPUµÄÖ§³Ö£¬ÕâÒ²ÊÇΪʲôÕâÆªÎÄÕÂÊǽ²SSE¶ø²»ÊÇSSE2µÄÔÒòÖ®Ò»¡£ÁíÒ»¸öÔÒò¾ÍÊÇSSEºÍSSE2µÄÖ¸ÁîϵͳÊǷdz£ÏàËÆµÄ£¬SSE2±ÈSSE¶àµÄ½öÊÇÉÙÁ¿µÄ¶îÍ⸡µã´¦Àí¹¦ÄÜ¡¢64λ¸¡µãÊýÔËËãÖ§³ÖºÍ64λÕûÊýÔËËãÖ§³Ö¡£
SSEΪʲô»á±È´«Í³µÄ¸¡µãÔËËã¸ü¿ìÄØ£¿ÒòΪËüʹÓÃÁË128λµÄ´æ´¢µ¥Ôª£¬Õâ¶ÔÓÚ32λµÄ¸¡µãÊýÀ´½²£¬ÊÇ¿ÉÒÔ´æÏÂ4¸öµÄ£¬Ò²¾ÍÊÇ˵£¬SSEÖеÄËùÓмÆËã¶¼ÊÇÒ»´ÎÐÔÕë¶Ô4¸ö¸¡µãÊýÀ´Íê³ÉµÄ£¬ÕâÖÖÅú´¦Àíµ±È»¾Í»á´øÀ´Ð§ÂʵÄÌáÉý¡£ÎÒÃÇÔÙÀ´»Ø¹ËÒ»ÏÂSSEµÄÈ«³Æ£ºStream SIMD Extentions£¨Á÷SIMDÀ©Õ¹£©¡£SIMD¾ÍÊÇsingle instruction multiple data£¬Á¬ÆðÀ´¾ÍÊÇ“Êý¾ÝÁ÷µ¥Ö¸Áî¶àÊý¾ÝÀ©Õ¹”£¬´ÓÃû×ÖÎÒÃǾͿÉÒÔ¸üºÃµÄÀí½âSSEÊÇÈçºÎ¹¤×÷µÄÁË¡£
ËäÈ»SSE´ÓÀíÂÛÉÏÀ´½²Òª±È´«Í³µÄ¸¡µãÔËËã»á¿ì£¬µ«ÊÇËûËùÊܵÄÏÞÖÆÒ²ºÜ¶à£¬Ê×ÏÈ£¬ËäÈ»ËûÖ´ÐÐÒ»´ÎÏ൱ÓÚËĴΣ¬»á±È´«Í³µÄ¸¡µãÔËËãÖ´ÐÐ4´ÎµÄËÙ¶ÈÒª¿ì£¬µ«ÊÇËûÖ´ÐÐÒ»´ÎµÄËÙ¶ÈÈ´²¢Ã»ÓÐÏëÏóÖеÄÄÇô¿ì£¬ËùÒÔÒªÌåÏÖSSEµÄËÙ¶È£¬±ØÐëÓÐStream×öǰ ......
SSEÊÇÓ¢ÌØ¶ûÌá³öµÄ¼´MMXÖ®ºóÐÂÒ»´ú£¨µ±È»ÊǼ¸ÄêǰÁË£©CPUÖ¸Á£¬×îÔçÓ¦ÓÃÔÚPIIIϵÁÐCPUÉÏ¡£ÏÖÔÚÒѾµÃµ½ÁËIntel PIII¡¢P4¡¢Celeon¡¢Xeon¡¢AMD Athlon¡¢duronµÈϵÁÐCPUµÄÖ§³Ö¡£¶ø¸üеÄSSE2Ö¸Á½öµÃµ½ÁËP4ϵÁÐCPUµÄÖ§³Ö£¬ÕâÒ²ÊÇΪʲôÕâÆªÎÄÕÂÊǽ²SSE¶ø²»ÊÇSSE2µÄÔÒòÖ®Ò»¡£ÁíÒ»¸öÔÒò¾ÍÊÇSSEºÍSSE2µÄÖ¸ÁîϵͳÊǷdz£ÏàËÆµÄ£¬SSE2±ÈSSE¶àµÄ½öÊÇÉÙÁ¿µÄ¶îÍ⸡µã´¦Àí¹¦ÄÜ¡¢64λ¸¡µãÊýÔËËãÖ§³ÖºÍ64λÕûÊýÔËËãÖ§³Ö¡£
SSEΪʲô»á±È´«Í³µÄ¸¡µãÔËËã¸ü¿ìÄØ£¿ÒòΪËüʹÓÃÁË128λµÄ´æ´¢µ¥Ôª£¬Õâ¶ÔÓÚ32λµÄ¸¡µãÊýÀ´½²£¬ÊÇ¿ÉÒÔ´æÏÂ4¸öµÄ£¬Ò²¾ÍÊÇ˵£¬SSEÖеÄËùÓмÆËã¶¼ÊÇÒ»´ÎÐÔÕë¶Ô4¸ö¸¡µãÊýÀ´Íê³ÉµÄ£¬ÕâÖÖÅú´¦Àíµ±È»¾Í»á´øÀ´Ð§ÂʵÄÌáÉý¡£ÎÒÃÇÔÙÀ´»Ø¹ËÒ»ÏÂSSEµÄÈ«³Æ£ºStream SIMD Extentions£¨Á÷SIMDÀ©Õ¹£©¡£SIMD¾ÍÊÇsingle instruction multiple data£¬Á¬ÆðÀ´¾ÍÊÇ“Êý¾ÝÁ÷µ¥Ö¸Áî¶àÊý¾ÝÀ©Õ¹”£¬´ÓÃû×ÖÎÒÃǾͿÉÒÔ¸üºÃµÄÀí½âSSEÊÇÈçºÎ¹¤×÷µÄÁË¡£
ËäÈ»SSE´ÓÀíÂÛÉÏÀ´½²Òª±È´«Í³µÄ¸¡µãÔËËã»á¿ì£¬µ«ÊÇËûËùÊܵÄÏÞÖÆÒ²ºÜ¶à£¬Ê×ÏÈ£¬ËäÈ»ËûÖ´ÐÐÒ»´ÎÏ൱ÓÚËĴΣ¬»á±È´«Í³µÄ¸¡µãÔËËãÖ´ÐÐ4´ÎµÄËÙ¶ÈÒª¿ì£¬µ«ÊÇËûÖ´ÐÐÒ»´ÎµÄËÙ¶ÈÈ´²¢Ã»ÓÐÏëÏóÖеÄÄÇô¿ì£¬ËùÒÔÒªÌåÏÖSSEµÄËÙ¶È£¬±ØÐëÓÐStream×öǰ ......
ÔÚÌÖÂÛÈ«¾Ö±äÁ¿Ö®Ç°ÎÒÃÇÏÈÒªÃ÷°×¼¸¸ö»ù±¾µÄ¸ÅÄ
1. ±àÒëµ¥Ôª(Ä£¿é)£º
ÔÚ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. ÉùÃ÷Ó붨ÒåµÄÇø±ð
º¯Êý»ò±äÁ¿ÔÚÉùÃ÷ʱ£¬²¢Ã»ÓиøËüʵ¼ÊµÄÎïÀíÄÚ´æ¿Õ¼ä£¬Ë ......
ÔÚÌÖÂÛÈ«¾Ö±äÁ¿Ö®Ç°ÎÒÃÇÏÈÒªÃ÷°×¼¸¸ö»ù±¾µÄ¸ÅÄ
1. ±àÒëµ¥Ôª(Ä£¿é)£º
ÔÚ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. ÉùÃ÷Ó붨ÒåµÄÇø±ð
º¯Êý»ò±äÁ¿ÔÚÉùÃ÷ʱ£¬²¢Ã»ÓиøËüʵ¼ÊµÄÎïÀíÄÚ´æ¿Õ¼ä£¬Ë ......
Ç°ÃæÒ»ÆªÎÒÃǽéÉÜÁËÖ¸Õ룬ÏàÐÅ´ó¼Ò¶ÔÖ¸Õë²»ÔÙÊÇÄÇôİÉú£¬ËäÈ»ÔÚһЩ´óµ¨µÄÖ¸ÕëÇ¿ÖÆÀàÐÍת»»ÉÏÓеĶÁÕß»¹²»Ï°¹ß¡£µ«ÊÇÖÁÉÙ´ó¼ÒÐÄÀïÓиöÊý£¬Ö¸ÕëʽÈç´ËµÄÁé»î£¬ÒÔÖÁÓÚÄã¿ÉÒÔ²Ù×÷µÃ±È½Ïµ×²ã»òÕ߸ù±¾Ô½¹ýһЩÓï·¨µÄÏÞÖÆ¡£Õâ¿ÉÄÜÒ²ÊÇÖÚ¶à³ÌÐòÔ±Åê»÷CC++²»°²È«µÄÒòËØÖ®Ò»¡£°²²»°²È«²»ÊDZ¾ÎÄÏëÒª±í´ïµÄ£¬ÕâÀïÖ»ÐèÒª¼Çסһµã£¬Èç¹ûÄãÓÐ×ã¹»°ÑÎÕ£¬ÄÇôÄã¾ø¶Ô¿ÉÒÔºÁ²»ÓÌÔ¥µÄÔËÓá£
±¾ÎÄÒÀÈ»²»»áÀ뿪ָÕëµÄÓ°×Ó£¬Ç°ÃæÒ»Æª»¹ÓÐû½éÉÜÍêµÄ£¬Ö®Ç°±¾À´ÏëÔÚÇ°ÃæÒ»Æª½éÉÜ£¬µ«ÊÇ·¢ÏÖÔÚ±¾Æª½éÉܸüÊʺÏһЩ¡£Êý×éºÍÖ¸Õë¿ÉÒÔ˵ÊÇÁ½¼ÒÇ×£¬ºÜ¶à³õѧµÄ¶ÁÕß¶ÔÕâÁ½ÕߵĸÅÄîÄ£ÀâÁ½¿É¡£ËûÃÇÖ®¼äÓÐʲôÁªÏµºÍÇø±ðÒ²ÊǺܶà³õѧµÄ¶ÁÕß×îÏ£ÍûÃ÷°×µÄ£¬±¾ÎľÍΪ½â¾öÕâ¸öÀ§ÈÅ£¬ÈÃÖ¸ÕëºÍÊý×é½øÒ»²½¼ÓÉî¡£»¹ÊǼÇסÎÒÃǵijö·¢µã£¬ÒÔ·¢É¢µÄ˼άȥÀí½âÈ¥ÁªÏë¡£×¢ÖØË¼¿¼¹ý³Ì£¬Õâ¸ö¹ý³Ì×îÖÕÖ»ÐèÒªÓóÌÐòÀ´±í´ï¶øÒÑ¡£
Ê×ÏÈ»¹ÊÇ¿´¿´Ê²Ã´ÊÇÊý×飬Êý×é¼´ÊÇÒ»¶ÎÁ¬ÐøµÄ¿Õ¼ä£¨ÄÚ´æ¿Õ¼ä£©¡£´ÓÕâ¾ä»°ÖУ¬ÎÒÃÇ¿ÉÒÔ×¢Òâµ½Êý×éÆäʵ¾ÍÊÇÒ»¶Î¿Õ¼ä£¬¶øÇÒ»¹ÊÇÁ¬ÐøµÄ¡£ºÃÁË£¬´Ëʱ¶ÔÊý×éµÄ»ù±¾ÌØÕ÷¾ÍÓиö´óÖµÄÁ˽âÁË¡£ÄÇôÄÚ´æ¿Õ¼äÊÇÔõôÑù±í´ï³öÀ´µÄÄØ£¿ºÜ¼òµ¥£º
int a[ 100 ];
char szName[ 16 ];
ÕâÁ ......
Ç°ÃæÒ»ÆªÎÒÃǽéÉÜÁËÖ¸Õ룬ÏàÐÅ´ó¼Ò¶ÔÖ¸Õë²»ÔÙÊÇÄÇôİÉú£¬ËäÈ»ÔÚһЩ´óµ¨µÄÖ¸ÕëÇ¿ÖÆÀàÐÍת»»ÉÏÓеĶÁÕß»¹²»Ï°¹ß¡£µ«ÊÇÖÁÉÙ´ó¼ÒÐÄÀïÓиöÊý£¬Ö¸ÕëʽÈç´ËµÄÁé»î£¬ÒÔÖÁÓÚÄã¿ÉÒÔ²Ù×÷µÃ±È½Ïµ×²ã»òÕ߸ù±¾Ô½¹ýһЩÓï·¨µÄÏÞÖÆ¡£Õâ¿ÉÄÜÒ²ÊÇÖÚ¶à³ÌÐòÔ±Åê»÷CC++²»°²È«µÄÒòËØÖ®Ò»¡£°²²»°²È«²»ÊDZ¾ÎÄÏëÒª±í´ïµÄ£¬ÕâÀïÖ»ÐèÒª¼Çסһµã£¬Èç¹ûÄãÓÐ×ã¹»°ÑÎÕ£¬ÄÇôÄã¾ø¶Ô¿ÉÒÔºÁ²»ÓÌÔ¥µÄÔËÓá£
±¾ÎÄÒÀÈ»²»»áÀ뿪ָÕëµÄÓ°×Ó£¬Ç°ÃæÒ»Æª»¹ÓÐû½éÉÜÍêµÄ£¬Ö®Ç°±¾À´ÏëÔÚÇ°ÃæÒ»Æª½éÉÜ£¬µ«ÊÇ·¢ÏÖÔÚ±¾Æª½éÉܸüÊʺÏһЩ¡£Êý×éºÍÖ¸Õë¿ÉÒÔ˵ÊÇÁ½¼ÒÇ×£¬ºÜ¶à³õѧµÄ¶ÁÕß¶ÔÕâÁ½ÕߵĸÅÄîÄ£ÀâÁ½¿É¡£ËûÃÇÖ®¼äÓÐʲôÁªÏµºÍÇø±ðÒ²ÊǺܶà³õѧµÄ¶ÁÕß×îÏ£ÍûÃ÷°×µÄ£¬±¾ÎľÍΪ½â¾öÕâ¸öÀ§ÈÅ£¬ÈÃÖ¸ÕëºÍÊý×é½øÒ»²½¼ÓÉî¡£»¹ÊǼÇסÎÒÃǵijö·¢µã£¬ÒÔ·¢É¢µÄ˼άȥÀí½âÈ¥ÁªÏë¡£×¢ÖØË¼¿¼¹ý³Ì£¬Õâ¸ö¹ý³Ì×îÖÕÖ»ÐèÒªÓóÌÐòÀ´±í´ï¶øÒÑ¡£
Ê×ÏÈ»¹ÊÇ¿´¿´Ê²Ã´ÊÇÊý×飬Êý×é¼´ÊÇÒ»¶ÎÁ¬ÐøµÄ¿Õ¼ä£¨ÄÚ´æ¿Õ¼ä£©¡£´ÓÕâ¾ä»°ÖУ¬ÎÒÃÇ¿ÉÒÔ×¢Òâµ½Êý×éÆäʵ¾ÍÊÇÒ»¶Î¿Õ¼ä£¬¶øÇÒ»¹ÊÇÁ¬ÐøµÄ¡£ºÃÁË£¬´Ëʱ¶ÔÊý×éµÄ»ù±¾ÌØÕ÷¾ÍÓиö´óÖµÄÁ˽âÁË¡£ÄÇôÄÚ´æ¿Õ¼äÊÇÔõôÑù±í´ï³öÀ´µÄÄØ£¿ºÜ¼òµ¥£º
int a[ 100 ];
char szName[ 16 ];
ÕâÁ ......
Many developers already have experience with an object-oriented programming language like C++. As you make the transition to Java, you will encounter many differences, despite some strong similarities. In this excerpt from "Thinking in Java", Bruce Eckel highlights the important differences that C++ programmers should be aware of.
http://www.javacoffeebreak.com/articles/thinkinginjava/comparingc++andjava.html
C++Éè¼Æ¿ª·¢¹æ·¶
http://blog.mm-share.cn/post/104.html
C++ "interface" and "abstract" keywords
http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/c8a50d60-c4e7-440b-8f27-0939da61d8a2
C++Öв»ÔÊÐíʹÓú궨ÒåµÄ·½·¨¶¨Òå·ûºÅ³£Á¿£¬Ö»ÄÜʹÓùؼü×ÖconstÀ´¶¨Òå?
http://zhidao.baidu.com/question/91799874 ......
1£¬C++ÀXºõ²»ÐèÒªÓõ½ºê£¬ÓÃconst»ðenum¶¨ÒåÃ÷ÏԵij£Á¿¡£ÓÃinline±ÜÃ⺯ÊýµÄ¶îÍ⿪Ïú£¬ÓÃtemplateÈ¥¿Ì»Ò»×庯Êý»òÕßÀàÐÍ£¬ÓÃnamespaceÈ¥±ÜÃâÃû×Ö³åÍ»¡£ÀàÒ²¿ÉÒÔ¡£
2£¬²»ÒªÔÚÄãÐèҪ֮ǰÉêÃ÷Ëü£¬Ê²Ã´Ê±ºòÓÃʲôʱºòÉêÃ÷£¨µ±Äê´ÓC++תCµÄʱºò³ÔÁËÀÏ¿àÁË£©£»
3£¬²»ÒªÓÃmalloc£¨£©£¬new¿ÉÒÔ×öµÄºÜºÃ£¬¶ÔÓÚrealloc£¨£©£¬¿ÉÒÔÊÔÒ»ÊÔvector£»
4£¬ÊÔ×űÜÃâvoid*,Ö¸ÕëËãÊõ£¬ÁªºÏºÍÇ¿ÖÆ¡£Èç¹ûÄã±ØÐëʹÓÃij¸öÏÔʽµÄÀàÐÍת»»£¬É跨ȥÓÃÒ»¸ö“еÄÇ¿ÖÆ”£»
5£¬¾¡Á¿Ê¹ÓÃC£«£«±ê×¼¿â
¸øC++³ÌÐòÔ±µÄ½¨Òé
C+£«±ÈCºÃ£¬ÒòΪËû±ÈCÒª£«£« ......
1£¬C++ÀXºõ²»ÐèÒªÓõ½ºê£¬ÓÃconst»ðenum¶¨ÒåÃ÷ÏԵij£Á¿¡£ÓÃinline±ÜÃ⺯ÊýµÄ¶îÍ⿪Ïú£¬ÓÃtemplateÈ¥¿Ì»Ò»×庯Êý»òÕßÀàÐÍ£¬ÓÃnamespaceÈ¥±ÜÃâÃû×Ö³åÍ»¡£ÀàÒ²¿ÉÒÔ¡£
2£¬²»ÒªÔÚÄãÐèҪ֮ǰÉêÃ÷Ëü£¬Ê²Ã´Ê±ºòÓÃʲôʱºòÉêÃ÷£¨µ±Äê´ÓC++תCµÄʱºò³ÔÁËÀÏ¿àÁË£©£»
3£¬²»ÒªÓÃmalloc£¨£©£¬new¿ÉÒÔ×öµÄºÜºÃ£¬¶ÔÓÚrealloc£¨£©£¬¿ÉÒÔÊÔÒ»ÊÔvector£»
4£¬ÊÔ×űÜÃâvoid*,Ö¸ÕëËãÊõ£¬ÁªºÏºÍÇ¿ÖÆ¡£Èç¹ûÄã±ØÐëʹÓÃij¸öÏÔʽµÄÀàÐÍת»»£¬É跨ȥÓÃÒ»¸ö“еÄÇ¿ÖÆ”£»
5£¬¾¡Á¿Ê¹ÓÃC£«£«±ê×¼¿â
¸øC++³ÌÐòÔ±µÄ½¨Òé
C+£«±ÈCºÃ£¬ÒòΪËû±ÈCÒª£«£« ......