LinuxÖеÄmakefieÊéд¹æÔòѧϰ2
Èý¡¢makeÊÇÈçºÎ¹¤×÷µÄ
ÔÚĬÈϵķ½Ê½Ï£¬Ò²¾ÍÊÇÎÒÃÇÖ»ÊäÈëmakeÃüÁî¡£ÄÇô£¬
1¡¢make»áÔÚµ±Ç°Ä¿Â¼ÏÂÕÒÃû×ֽГMakefile”»ò“makefile”µÄÎļþ¡£
2¡¢Èç¹ûÕÒµ½£¬Ëü»áÕÒÎļþÖеĵÚÒ»¸öÄ¿±êÎļþ£¨target£©£¬ÔÚÉÏÃæµÄÀý×ÓÖУ¬Ëû»áÕÒµ½“edit”Õâ¸öÎļþ£¬²¢°ÑÕâ¸öÎļþ×÷Ϊ×îÖÕµÄÄ¿±êÎļþ¡£
3¡¢Èç¹ûeditÎļþ²»´æÔÚ£¬»òÊÇeditËùÒÀÀµµÄºóÃæµÄ .o ÎļþµÄÎļþÐÞ¸Äʱ¼äÒª±ÈeditÕâ¸öÎļþУ¬ÄÇô£¬Ëû¾Í»áÖ´ÐкóÃæËù¶¨ÒåµÄÃüÁîÀ´Éú³ÉeditÕâ¸öÎļþ¡£
4¡¢Èç¹ûeditËùÒÀÀµµÄ.oÎļþÒ²²»´æÔÚ£¬ÄÇômake»áÔÚµ±Ç°ÎļþÖÐÕÒÄ¿±êΪ.oÎļþµÄÒÀÀµÐÔ£¬Èç¹ûÕÒµ½ÔòÔÙ¸ù¾ÝÄÇÒ»¸ö¹æÔòÉú³É.oÎļþ¡££¨ÕâÓеãÏñÒ»¸ö¶ÑÕ»µÄ¹ý³Ì£©
5¡¢µ±È»£¬ÄãµÄCÎļþºÍHÎļþÊÇ´æÔÚµÄÀ²£¬ÓÚÊÇmake»áÉú³É .o Îļþ£¬È»ºóÔÙÓà .o ÎļþÉúÃümakeµÄÖÕ¼«ÈÎÎñ£¬Ò²¾ÍÊÇÖ´ÐÐÎļþeditÁË
¡£
Õâ
¾ÍÊÇÕû¸ömakeµÄÒÀÀµÐÔ£¬make»áÒ»²ãÓÖÒ»²ãµØÈ¥ÕÒÎļþµÄÒÀÀµ¹ØÏµ£¬Ö±µ½×îÖÕ±àÒë³öµÚÒ»¸öÄ¿±êÎļþ
¡£ÔÚÕÒѰµÄ¹ý³ÌÖУ¬Èç¹û³öÏÖ´íÎ󣬱ÈÈç×îºó±»ÒÀÀµµÄ
ÎļþÕÒ²»µ½£¬ÄÇômake¾Í»áÖ±½ÓÍ˳ö£¬²¢±¨´í£¬¶ø¶ÔÓÚËù¶¨ÒåµÄÃüÁîµÄ´íÎ󣬻òÊDZàÒë²»³É¹¦£¬make¸ù±¾²»Àí¡£makeÖ»¹ÜÎļþµÄÒÀÀµÐÔ
£¬¼´£¬Èç¹ûÔÚÎÒ
ÕÒÁËÒÀÀµ¹ØÏµÖ®ºó£¬Ã°ºÅºóÃæµÄÎļþ»¹ÊDz»ÔÚ£¬ÄÇô¶Ô²»Æð£¬ÎҾͲ»¹¤×÷À²¡£
ͨ¹ýÉÏÊö·ÖÎö£¬ÎÒÃÇÖªµÀ£¬ÏñcleanÕâÖÖ£¬Ã»Óб»µÚÒ»¸öÄ¿±êÎļþÖ±½Ó»ò¼ä½Ó¹ØÁª£¬ÄÇôËüºóÃæËù¶¨ÒåµÄÃüÁ²»»á±»×Ô¶¯Ö´ÐУ¬²»¹ý£¬ÎÒÃÇ¿ÉÒÔÏÔʾҪmakeÖ´ÐС£¼´ÃüÁî——“make clean”£¬ÒÔ´ËÀ´Çå³ýËùÓеÄÄ¿±êÎļþ£¬ÒÔ±ãÖØ±àÒë¡£
ÓÚ
ÊÇÔÚÎÒÃDZà³ÌÖУ¬Èç¹ûÕâ¸ö¹¤³ÌÒѱ»±àÒë¹ýÁË£¬µ±ÎÒÃÇÐÞ¸ÄÁËÆäÖÐÒ»¸öÔ´Îļþ£¬±ÈÈçfile.c£¬ÄÇô¸ù¾ÝÎÒÃǵÄÒÀÀµÐÔ£¬ÎÒÃǵÄÄ¿±êfile.o»á±»ÖرàÒë
£¨Ò²¾ÍÊÇÔÚÕâ¸öÒÀÐÔ¹ØÏµºóÃæËù¶¨ÒåµÄÃüÁ
£¬ÓÚÊÇfile.oµÄÎļþÒ²ÊÇ×îеÄÀ²£¬ÓÚÊÇfile.oµÄÎļþÐÞ¸Äʱ¼äÒª±ÈeditҪУ¬ËùÒÔeditÒ²»á±»
ÖØÐÂÁ´½ÓÁË
£¨Ïê¼ûeditÄ¿±êÎļþºó¶¨ÒåµÄÃüÁ¡£
¶øÈç¹ûÎÒÃǸıäÁË“command.h”£¬ÄÇô£¬kdb.o¡¢command.oºÍfiles.o¶¼»á±»ÖرàÒ룬²¢ÇÒ£¬edit»á±»ÖØÁ´½Ó¡£
ËÄ¡¢makefileÖÐʹÓñäÁ¿
ÔÚÉÏÃæµÄÀý×ÓÖУ¬ÏÈÈÃÎÒÃÇ¿´¿´editµÄ¹æÔò£º
edit : main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
cc -o edit main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
ÎÒ
ÃÇ¿ÉÒÔ¿´µ½[.o]ÎÄ
Ïà¹ØÎĵµ£º
LinuxÄں˲üôµÄ¾ßÌå²½Öè
ÔÚmenuconfigÖÐÅäÖãº
Ïêϸ½éÉÜÄÚºËÅäÖÃÑ¡Ïɾ¸ÄÇé¿ö
µÚÒ»²¿·Ö£ºÈ«²¿É¾³ý
Code maturity level options ---> ´úÂë³ÉÊìµÈ¼¶Ñ¡Ïî
[]Prompt for development and/or incomplete code/drivers ĬÈÏÇé¿öÏÂÊÇÑ¡ÔñµÄ£¬Õ⽫»áÔÚÉèÖýçÃæÖÐÏÔʾ»¹ÔÚ¿ª·¢»òÕß»¹Ã»ÓÐÍê³ÉµÄ´úÂëÓëÇý¶¯.²» ......
ǶÈëʽlinuxÆô¶¯ÐÅÏ¢×¢ÊÍÖ®bootloader
¡¡¡¡×÷ΪһÃûǶÈëϵͳ¿ª·¢Õߣ¬ÄãÒ»¶¨Óöµ½¹ýÏÂÃæµÄÇé¾°£º
¡¡¡¡ÔÚijÂÛ̳ÉÏ¿´µ½Ò»ÆªÌû×Ó£¬ÉÏÃæÌù×ÅǶÈëʽlinux¿ª·¢°åÆô¶¯Ê±µÄÓйØÐÅÏ¢£¬È»ºó´ó¼ÒÔÚÌû×ÓÀïÌÖÂÛ×ÅÕâ¸öÆô¶¯¹ý³ÌÖгöÏÖµÄÎÊÌâ£¬Ëæ»ú¾ÙÀýÈçÏ£º
Linux version 2.4.20-uc0 (root@Local) (gcc version 2.95.3 20 ......
¿´µ½¹«Ë¾µÄÀÏÍâ¶¼ÊÇÓÃLinux±àÒëAVRµÄ³ÌÐò£¬¸Ð¾õºÜÇ¿£¬¶øÇÒ±¾ÈËÒ²ºÜϲ»¶linux£¬ËùÒÔ¾ö¶¨½øÐÐѧϰ£¬ÏּǼһÏÂѧϰ¹ý³Ì£º
1.±àÒëÎÒÃǵÄËã·¨Îļþ£¬Ò²¾ÍÊÇÀÏÍâÒÔǰ·¢¸øÎÒÃÇÕâ±ßµÄ¹ØÓÚËã·¨µÄ.oÎļþ¡£Óöµ½Ð¡À§ÄÑ£¬Ìáʾfor' loop initial declaration used outside C99 mode
£¬ ......
ʲôÊÇSocket
Socket½Ó¿ÚÊÇTCP/IPÍøÂçµÄAPI£¬Socket½Ó¿Ú¶¨ÒåÁËÐí¶àº¯Êý»òÀý³Ì£¬³ÌÐòÔ±¿ÉÒÔÓÃËüÃÇÀ´¿ª·¢TCP/IPÍøÂçÉϵÄÓ¦ÓóÌÐò¡£ÒªÑ§InternetÉϵÄTCP/IPÍøÂç±à³Ì£¬±ØÐëÀí½âSocket½Ó¿Ú¡£
Socket½Ó¿ÚÉè¼ÆÕß×îÏÈÊǽ«½Ó¿Ú·ÅÔÚUnix²Ù×÷ϵͳÀïÃæµÄ¡£Èç¹ûÁ˽âUnix
ϵͳµÄÊäÈëºÍÊä³öµÄ»°£¬¾ÍºÜÈÝÒ×Á˽â ......
LinuxϵÄshellÓëmake
Ò»¡¢shell
1.1 ʲôÊÇshell
¡ñ Óû§ÓëLinuxµÄ½Ó¿Ú
¡ñ ÃüÁî½âÊÍÆ÷
¡ñ Ö§³Ö¶àÓû§
¡ñ Ö§³Ö¸´Ôӵıà³ÌÓïÑÔ
¡ñ ShellÓкܶàÖÖ£¬È磺csh,tcsh,pdksh,ash,sash,zsh,bashµÈ¡£LinuxµÄȱʡShellΪbash(Bourne Again Shell)¡£
ShellÊÇÓû§ºÍ²Ù×÷ϵͳ֮¼ä×îÖ÷Òª½Ó¿Ú¡£Í¨¹ýShell£¬¿ÉÒÔͬʱÔÚºǫ́ÔËÐжà¸öÓ ......