¶¨ÒåC/C++È«¾Ö±äÁ¿/³£Á¿¼¸ÖÖ·½·¨µÄÇø±ð£¨×ª£©
ÔÚÌÖÂÛÈ«¾Ö±äÁ¿Ö®Ç°ÎÒÃÇÏÈÒªÃ÷°×¼¸¸ö»ù±¾µÄ¸ÅÄ
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. ÉùÃ÷Ó붨ÒåµÄÇø±ð
º¯Êý»ò±äÁ¿ÔÚÉùÃ÷ʱ£¬²¢Ã»ÓиøËüʵ¼ÊµÄÎïÀíÄÚ´æ¿Õ¼ä£¬ËüÓÐʱºò¿ÉÒÔ±£Ö¤ÄãµÄ³ÌÐò±àÒëͨ¹ý£¬ µ«Êǵ±º¯Êý»ò±äÁ¿¶¨ÒåµÄʱºò£¬Ëü¾ÍÔÚÄÚ´æÖÐÓÐÁËʵ¼ÊµÄÎïÀí¿Õ¼ä£¬Èç¹ûÄãÔÚ±àÒëÄ£¿éÖÐÒýÓõÄÍⲿ±äÁ¿Ã»ÓÐÔÚÕû¸ö¹¤³ÌÖÐÈκÎÒ»¸öµØ·½¶¨ÒåµÄ»°£¬ ÄÇô¼´Ê¹ËüÔÚ±àÒëʱ¿ÉÒÔͨ¹ý£¬ÔÚÁ¬½ÓʱҲ»á±¨´í£¬ÒòΪ³ÌÐòÔÚÄÚ´æÖÐÕÒ²»µ½Õâ¸ö±äÁ¿£¡ÄãÒ²¿ÉÒÔÕâÑùÀí½â£¬ ¶Ôͬһ¸ö±äÁ¿»òº¯ÊýµÄÉùÃ÷¿ÉÒÔÓжà´Î£¬¶ø¶¨ÒåÖ»ÄÜÓÐÒ»´Î!
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; ËüµÄ×÷ÓþÍÊÇÉùÃ÷º¯Êý»òÈ«¾Ö±äÁ¿µÄ×÷Ó÷¶Î§µÄ¹Ø¼ü×Ö£¬ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔÔÚ±¾Ä£¿é»îÆäËûÄ£¿éÖÐʹÓ㬼ÇסËüÊÇÒ»¸öÉù
Ïà¹ØÎĵµ£º
½ñÌì±È½ÏÀÁ¶è£¬Ã»×öÌ⣬ֻÊÇ¿´ÁËÒ»µãÄDZ¾cÏÝÚåÓëȱÏÝ£¬ËµÊµ»°¶ÁÁ˲»¶àµ«Ã÷ÏÔÄܸоõ³öÕâÊÇÒ»±¾ºÃÊ飬¸Ð¾õ¶ÔÎÒÀ´Ëµ¸ÕºÃ£¬²»ÊÇ»ù´¡Ê飬µ«Ò²»ù±¾ÄÜ¿´¶®£¬¶øÇÒÄÜѧµ½ºÃ¶à¶«Î÷£¬µ«½ñÌìÖ»¿´ÁËÈýÕ£¬Ö÷ÒªÊÇϾüÆìÁË£¬囧£¬ÎÒÒ²Ö»ÄܰÑÎÒѧµ½µÄ×ܽáÏÂÀ´£¬Ñ§ÁË×ܱÈÒ»µã¶¼Ã»Ñ§ÒªºÃ£¬ÎÒÒ²Ö»ÄÜÕâÑù°²Î¿×Ô¼ºÁË¡£ ......
ÔÚ´ò°üoralce¿Í»§¶Ëºó£¬¾³£»áÓöµ½Õâ¸öÎÊÌâ“specified class not registered in registry”
½â¾ö°ì·¨£º
ÕâÊÇÒòΪÓм¸¸öÁ´½Ó¿âdll»òocxûע²áµÄÔÒò£¬¾±¾È˲âÊÔΪÒÔÏÂ5¸öÎļþ£º
......
1. structµÄ¾Þ´ó×÷ÓÃ
¡¡¡¡Ãæ¶ÔÒ»¸öÈ˵ĴóÐÍC/C++³ÌÐòʱ£¬Ö»¿´Æä¶ÔstructµÄʹÓÃÇé¿öÎÒÃǾͿÉÒÔ¶ÔÆä±àдÕßµÄ
±à³Ì¾Ñé½øÐÐÆÀ¹À¡£ÒòΪһ¸ö´óÐ͵ÄC/C++³ÌÐò£¬ÊƱØÒªÉ漰һЩ(ÉõÖÁ´óÁ¿)½øÐÐÊý¾Ý×éºÏ
µÄ½á¹¹Ì壬ÕâЩ½á¹¹Ìå¿ÉÒÔ½«Ô±¾ÒâÒåÊôÓÚÒ»¸öÕûÌåµÄÊý¾Ý×éºÏÔÚÒ»Æð¡£´ÓijÖ̶ֳÈÉÏÀ´
˵£¬»á²»»áÓÃstruct£¬ÔõÑùÓÃstructÊÇÇø± ......
¡¡¡¡1.¸ÅÊö
¡¡¡¡Ðí¶à³õѧÕß¶ÔC/C++ÓïÑÔÖеÄvoid¼°voidÖ¸ÕëÀàÐͲ»ÉõÀí½â£¬Òò´ËÔÚʹÓÃÉϳöÏÖÁËһЩ´íÎó¡£±¾ÎĽ«¶Ôvoid¹Ø¼ü×ÖµÄÉî¿Ìº¬Òå½øÐнâ˵£¬²¢ÏêÊövoid¼°voidÖ¸ÕëÀàÐ͵ÄʹÓ÷½·¨Óë¼¼ÇÉ¡£
¡¡¡¡2.voidµÄº¬Òå
¡¡¡¡voidµÄ×ÖÃæÒâ˼ÊÇ“ÎÞÀàÐÍ”£¬void *ÔòΪ“ÎÞÀàÐÍÖ¸Õ딣¬void *¿ÉÒÔÖ¸ÏòÈκÎÀàÐ͵ÄÊ ......
×î½üά»¤Logger¹²Ïí¿âµÄʱºòÐÂÔöÁ˸üÈËÐÔ»¯µÄ×Ô¶¯´´½¨¸÷¼¶Ä¿Â¼µÄ¹¦ÄÜ£¬ÏÂÃæÊÇÎÒʵÏÖ´´½¨ÖîÈç "c:\a\b\c\d\yeah.log"Öеĸ÷¼¶Îļþ¼ÐµÄ¹ý³Ì£¬Çë´ó¼ÒÖ¸½Ì£¡
BOOL CreateDirectoryInPathW(const wchar_t *sLogPath)
{
static BOOL bRet = 0;
CString csFullDir(_T(""));//Ôʼȫ·¾¶
int nLen = 0;//ÔÊ ......