ÉîÈëÈÏʶ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
Ïà¹ØÎĵµ£º
ÎÒ½«ÒµÎñ´úÂëÈ¥µôÁË£¬Ö»ÊÇÓÃÀ´´î¸ö»ù±¾¿ò¼Ü£¬Óõ½µÄʱºòÖ±½ÓÄÃÀ´ÓþͿÉÒÔÁË¡£(ÎÒÕâ¸öÊÇÆðÒ»¸ösocket)Èç¹ûÓÐʲô½¨ÒéÇëÁªÏµÎÒ¡£ChuangshengGuan@Gmail.com
main.c
Code:
#include "Services.h"
int main(int argc, char *argv[])
{
SERVICE_TABLE_ENTRY ServiceTable[2];
/* Ö¸Ïò±íʾ·þ ......
alloc.h
brk
¡¾¹¦ÄÜ¡¿¸ü¸ÄÊý¾Ý¶Î¿Õ¼äµÄ·ÖÅä
¡¾ÔÐÍ¡¿int brk(void *endds)
¡¾Î»Öá¿alloc.h
¡¾ËµÃ÷¡¿½«³ÌÐòÊý¾Ý¶ÎµÄ¶¥²¿ÉèÖÃΪenddsËùÖ¸ÏòµÄÄÚ´æλÖᣵ÷Óóɹ¦Ö®ºó£¬·µ»Ø0¡£Èç¹ûµ÷ÓÃʧ°ÜÔò·µ»Ø-1£¬Í¬Ê±ÉèÖÃerrno¡£
¡¾²Î¼û¡¿coreleft
calloc
¡¾¹¦ÄÜ¡¿·ÖÅäÄÚ´æ¡£
¡¾ÔÐÍ¡¿void *calloc(size_t nelem,size_t elsize) ......
Ô½½çÊÇ×îÄѲéµÄ£¬×¢Òâmemcpy strcpy,strncpyÕâЩº¯ÊýʹÓÃÇ°Ò»¶¨Òª¼ì²é±ß½ç
¡¡ÌرðÊÇÄãÌṩº¯Êý¸ø±ðÈËÓÃʱ£¬ÄãµÄº¯ÊýÖÐÓõ½ÁËÕâЩ¶«Î÷£¬Ò»¶¨Òª¼ì²é±ðÈË´«¸øÄãµÄÖ¸ÕëµÄ
¡¡±ß½ç
2¡¢±äÁ¿³õʼ»¯
¡¡ÕâÖÖÎÊÌâÒªÑø³ÉºÃÏ°¹ß£¬·ñÔò³öÀ´Å¼È»ÐÔÎÊÌ⣬·Ç³£ÄѲé
3¡¢¶àÏß³ÌÖ¸Õë¹ÜÀí
¡¡ÔÚ¶àÏ̻߳·¾³ÏÂʹÓÃÖ¸Õëʱ£¬×îºÃ²ÉÓÃÒýÓü ......
·½Ê½ ·ûºÅ³£Á¿ ÏÔʾÁÐ×ÐÐÊýºÍÑÕÉ«
0 BW40 40×25 ºÚ°×ÏÔʾ
1 C40 40×25 ²ÊÉ«ÏÔʾ
2 BW80 80×25 ºÚ°×ÏÔʾ
3 C80 80×25 ²ÊÉ«ÏÔʾ
7 MONO 80×25 µ¥É«ÏÔʾ
-1 LASTMODE ÉÏÒ»´ÎµÄÏÔʾ·½Ê½
Turbo C Ò²¿ÉÒÔÈÃÓû§¸ù¾Ý×Ô¼ºµÄÐèÒªÖØÐÂÉ趨ÏÔʾ´°¿Ú£¬Ò²¾ÍÊÇ˵£¬Í¨¹ýʹÓô°¿ÚÉè
Öú¯Êýwi ......
ÏßÐÍ
-----------------------------------------------------
Ãû ³Æ È¡ Öµ º¬ Òå
-----------------------------------------------------
SOLID_LINE 0 & ......