ÉîÈëÈÏʶTurbo C±àÒëÆ÷[ת]
1 ±àÒëÆ÷ ÓÐËÕæÕýµÄÀí½â¹ýÒ»¸ö±àÒëÆ÷ÄØ£¿Ðí¶àÈËÈÏΪTCºÜ¼òµ¥ºÜÂäºó£¬µ«ÊǼ´±ãÊÇÕâÑù¼òµ¥µÄ¹¤¾ß£¬µ½µ×Óм¸¸öÈËÕæÕýµÄÉîÈëÀí½âÁËÄØ£¿Ò»¸ö¼òµ¥µÄ±àÒëÆ÷¶¼²»ÄÜÀí½â£¬ÈçºÎÄܳÉΪ¸ßÊÖ£¬ÈçºÎÄÜÉîÈëµÄʹÓøü¼Ó¸ß¼¶µÄ¹¤¾ßÄØ£¿²»ÒªÒÔΪ×Ô¼ºÊ¹ÓõÄÊÇVC¾ÍºÜÁ˲»Æð£¬ÒòΪʹÓÃÕâÑùɵ¹Ï»¯µÄ¹¤¾ßÖ»ÄÜÈÃÄã¿´²»µ½ÊÂÎïµÄ±¾ÖÊ¡£½ÓÏÂÀ´ÎÒÃǾÍÀ´ÉîÈëµÄÈÏʶTurbo C±àÒëÆ÷¡£ ¹ãÒåµÄ±àÒëÆ÷£¬°üÀ¨ÁË´úÂë±àÒëÆ÷(compiler)¡¢Ä¿±êÎļþÁ´½ÓÆ÷(linker)¡¢¿âÎļþ¹ÜÀí¹¤¾ß(ÈçtcµÄtlib¡¢gccµÄar)¡¢±àÒëÇý¶¯¹¤¾ß(ÈçVCµÄNMake¡¢gccµÄmake)¡¢ANSI c/c++±ê×¼µÄÍ·ÎļþºÍ¿âÎļþ¡¢À©Õ¹µÄÍ·ÎļþºÍ¿âÎļþ¡¢¼¯³É¿ª·¢»·¾³(IDE)µÈµÈÓë±àÒëÏà¹ØµÄ¹¤¾ß¡£ ÏÁÒåµÄ±àÒëÆ÷£¬Ôò½öÖ¸´úÂë±àÒëÆ÷(compiler)¡£ ¶ÔÓÚÒ»¸ö¹ãÒåµÄ±àÒëÆ÷À´ËµÒÔϼ¸¸ö²¿·ÖÊDZر¸µÄ£º1.compiler£¬2.linker£¬3.ϵͳÌṩµÄÍ·ÎļþºÍ¿âÎļþ¡£ÏÂÃæ·Ö±ð½éÉÜcompilerºÍlinker¡£ compilerÖ»¸ºÔð½«Ô´´úÂ루.c/.cxx/.cppÎļþ£©±àÒë³ÉΪĿ±êÎļþ£¨.o/.objÎļþ£©¡£±àÒë¹ý³ÌµÄÊäÈëÊÇÔ´Îļþ£¬°üÀ¨×Ô¼ºÊéдµÄ.cºÍ.hÒÔ¼°ÏµÍ³ÌṩµÄ.hÎļþ£¬±àÒëµÄÊä³öÊÇÄ¿±êÎļþ¡£ÐèҪǿµ÷µÄÒ»µãʱ£¬ÔÚcompile½×¶Î£¬Ö»´¦ÀíÔ´Îļþ£¬ËùÒÔ²»ÐèÒª¿âÎļþºÍ¶îÍâµÄÄ¿±êÎļþµÄ²ÎÓ룬Òò´Ë£¬Ö»Òª´úÂëÔÚÓï·¨ÉÏûÓдíÎó£¬compile¾ÍÒ»¶¨ÄܲúÉúÄ¿±êÎļþ¡£ linkerµÄ¹¦ÄÜÊǽ«Ä¿±êÎļþ½øÐÐ×°Å䣬½«¸¡¶¯µÄµØÖ·±äΪȷ¶¨µÄµØÖ·£¬Õâ¸ö¹¤×÷ÊÇͨ¹ýÐÞ¸ÄÄ¿±êÎļþµÄÖØ¶¨Î»ÏîÀ´ÊµÏֵ쬯ä¾ßÌåµÄ¹ý³Ì¿ÉÒԲο¼¡¶Linker & loader¡·Õâ±¾Ê飬ÕâÊÇÒ»±¾Ïêϸ½éÉÜlinkerºÍloaderµÄºÃÊé¡£×ÜÖ®£¬linkÕâÒ»½×¶Î´¦ÀíµÄÊäÈëÊÇÄ¿±êÎļþ£¬ÆäÊä³öÊÇ¿ÉÖ´ÐÐÎļþ»ò¶¯Ì¬¿â¡£ ÈκÎÒ»¸ö±àÒëÆ÷¶¼»áÌṩ¿âÎļþºÍÓëÖ®¶ÔÓ¦µÄÍ·Îļþ£¬C/C++±àÒëÆ÷Ò»°ã¶¼ÌṩANSI C/C++µÄ¿âºÍÏàÓ¦µÄÍ·Îļþ¡£ ´ÓÏÖÔÚÆðÎÒÃǾÍÐèÒª½¨Á¢ÆðÒ»¸ö¸ÅÄ¾ÍÊǹãÒåµÄ±àÒë¹ý³Ì£¬Êµ¼ÊÉÏÊÇÓɱàÒëºÍÁ´½ÓÁ½¸ö»ù±¾²½Öè×é³ÉµÄ£¬Èç¹ûÄÜÉî¿ÌµÄÀí½âÕâÁ½¸ö²½Ö裬¾ÍÊÇÒ»´ó½ø²½ÁË¡£ ÔÚ±àÒëÆ÷ÀÓÐһЩĬÈϵĹ涨£ºbinĿ¼ÓÃÓÚ´æ·Åcompiler¡¢linkerµÈ¹¤¾ß£¬includeĿ¼ÓÃÓÚ´æ·ÅÍ·Îļþ£¬libĿ¼Óôæ·Å¿âÎļþ£¬´ó¶àÊýµÄ±àÒëÆ÷µÄĿ¼¾ÍÊǰ´Õâ¸öÀ´×éÖ¯µÄ¡£ 2 Turbo C 2.0.1°²×°Ä¿Â¼½á¹¹ ½ÓÏÂÀ´¿´Turbo CΪÎÒÃÇÌṩÁËЩʲô(Çëµ½ÎÒµÄÍøÕ¾ÏÂÔØÎÒ¶¯ÊÖÖÆ×÷µÄ¸ÄÁ¼°æTC±àÒëÆ÷)¡£ (1) binĿ¼ÖУº CPP.EXE ÊÇÒ»¸öCÓïÑÔÔ¤´¦Àí¹¤¾ß£¬¾ÍÊǸºÔð¶ÔÔ´´úÂë½øÐÐÔ¤±àÒë´¦Àí¡£ TCC.EXE ÊÇÒ»¸öCÓïÑԵıàÒëÆ÷£¬¿ÉÒÔ½«´úÂë±àÒëΪĿ±êÎļþ£¬²¢ÇÒÄÜ×Ô¶¯µ÷ÓÃtlinkÁ´½ÓÉú³É¿ÉÖ´ÐÐÎļþ TAS
Ïà¹ØÎĵµ£º
ת×Ô£ºhttp://blog.csdn.net/xiaocai0001/archive/2006/04/14/662921.aspx
static¹Ø¼ü×ÖÊÇC, C++Öж¼´æÔڵĹؼü×Ö, ËüÖ÷ÒªÓÐÈýÖÖʹÓ÷½Ê½, ÆäÖÐǰÁ½ÖÖÔÚC/C++ÓïÑÔÖÐʹÓÃ, µÚÈýÖÖÖ»ÔÚC++ÖÐʹÓÃ(C,C++ÖоßÌåϸ΢²Ù×÷²»¾¡Ïàͬ, ±¾ÎÄÒÔC++Ϊ׼).
(1)¾Ö²¿¾²Ì¬±äÁ¿
(2)Íⲿ¾²Ì¬±äÁ¿/º¯Êý
(3)¾²Ì¬Êý¾Ý³ÉÔ±/³ÉÔ±º¯Êý
ÏÂÃæ¾ÍÕâÈ ......
http://www.gamedev.net/reference/programming/features/orgfiles/page2.asp
ͨ¹ýËĸöpitfall½²½âÍ·ÎļþµÄÓÉÀ´ºÍºÃ´¦£¬ÒÔ¼°Ê¹ÓÃÍ·Îļþ¶¨Òåinline func and template.
Remember that, as far as the compiler is concerned, there is absolutely no difference between a header file and a source file.
The key idea ......
ARM CǶÈëʽ±à³ÌÖеö¹Ø¼ü×Ö
1¡¢·ÃÎʾø¶ÔµØÖ·µÄÄÚ´æÎ»Öãº
#define pISR_EINT0 (*(unsigned *) (_ISR_STRATADDRESS+0x74))
ÉÏÊöÓï¾ä°ÑÎÞ·ûºÅÕûÊý_ISR_STRATADDRESS+0x74Ç¿ÖÆ×ª»»ÎªÖ¸Õ룬ָÏòRAM£¬ÓÃÏÂÃæµÄÓï¾ä¿ÉÒÔ·ÃÎÊËü£º
pISR_EINT0 = (int)Eint0_ISR
& ......
ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£ÏÂÃæÊÇLinuxϵͳÏÂÓÃCÓïÑÔ´´½¨µÄÒ»¸öÏ̳߳ء£Ïß³Ì³Ø ......