LinuxÖÐMakefile½éÉÜ
Linux MakefileÎļþµÄ½éÉÜ
1. Makefile½éÉÜ
×¢ÒâÊÇ“Makefile”£¬µÚÒ»¸ö×Öĸ´óд£¬ÆäÓàµÄ¶¼ÊÇСд¡£Makefile¹ØÏµµ½ÁËÕû¸ö¹¤³ÌµÄ±àÒë¹æÔò£¬Ò»¸ö¹¤³ÌÖеÄÔ´Îļþ²»¼ÆÊý£¬Æä°´ÀàÐÍ¡¢¹¦ÄÜ¡¢Ä£¿é·Ö±ð·ÅÔÚÈô¸É¸öĿ¼ÖУ¬Makefile¶¨ÒåÁËһϵÁеĹæÔòÀ´Ö¸¶¨£¬ÄÄЩÎļþÐèÒªÏȱàÒ룬ÄÄЩÎļþÐèÒªºó±àÒ룬ÄÄЩÎļþÐèÒªÖØÐ±àÒ룬ÉõÖÁÓÚ½øÐиü¸´ÔӵŦÄܲÙ×÷£¬ÒòΪMakefile¾ÍÏñÒ»¸öShell½Å±¾Ò»Ñù£¬ÆäÖÐÒ²¿ÉÒÔÖ´ÐвÙ×÷ϵͳµÄÃüÁî¡£
Makefile´øÀ´µÄºÃ´¦¾ÍÊÇ——“×Ô¶¯»¯±àÒ딣¬Ò»µ©Ð´ºÃ£¬Ö»ÐèÒªÒ»¸ömakeÃüÁÕû¸ö¹¤³ÌÍêÈ«×Ô¶¯±àÒ룬¼«´óµÄÌá¸ßÁËÈí¼þ¿ª·¢µÄЧÂÊ¡£
ÆäʵMakefileµÄ±¾ÖÊÊǶ¨ÒåÁËÎļþÖ®¼äµÄÒÀÀµÐÔÎÊÌâ¡£
makeÃüÁîÖ´ÐÐʱ£¬ÐèÒªÒ»¸ö Makefile Îļþ£¬ÒÔ¸æËßmakeÃüÁîÐèÒªÔõôÑùµÄÈ¥±àÒëºÍÁ´½Ó³ÌÐò¡£
2. Àý×Ó
Ê×ÏÈ¿´Ò»Ï£¬ÎÒÃÇÓÃgccÀ´±àÒëºÍÁ´½Ó¶à¸öÎļþµÄÀý×Ó¡£±ÈÈ磬ÎÒÃÇÓÐÈý¸öÎļþ£¬file1.c£¬file2.c£¬file3.c£¬Èý¸öÎÄ»¯¿ÉÒÔ±àÒë³ÉÒ»¸ö¿ÉÖ´ÐгÌÐò¡£ÄÇÎÒÃÇÓÃgcc±àÒëÈçÏ£º
gcc –c file1.c //»áÉú³Éfile1.oÎļþ
gcc –c file2.c //»áÉú³Éfile2.oÎļþ
gcc –c file3.c //»áÉú³Éfile3.oÎļþ
gcc file1.o file2.o file3.o –o file //Éú³ÉÃû×ÖΪfileµÄÎļþ¡£
¿´×ÅÉÏÃæµÄÄã»á¸Ðµ½±È½ÏÂé·³°É£¬Èç¹ûÓкܶàºÜ¶àÎļþµÄ»°ÄǾͻá¸üÂé·³ÁË¡£ÄÇôÏÖÔھͿ´¿´MakefileÔõôȥ¸ã¶¨ËüÄØ£¿
all: file1.o file2.o file3.o
gcc file1.o file2.o file3.o –o file
file1.o:file1.c
gcc -c file1.c
file2.o:file2.c
gcc -c file1.c
file3.o:file3.c
gcc -c file1.c
ÏÂÃæ¼òµ¥µÄ½éÉÜÏÂËüµÄ¹¤×÷¹ý³Ì£º
µ±ÎÒÃÇÇÃÏÂÃüÁîmakeµÄʱºò£¬±àÒëÆ÷¾Í»áÈ¥ÕÒMakefielÕâ¸öÎļþ£¬È»ºó¾Í»áȥѰÕÒMakefileÎļþÀïÃæµÄµÚÒ»¸ö±êºÅall£¬ÏñÉÏÃæÕâ¸öÀý×ÓÀïÃæµÄall £¬file1.o£¬ file2.o £¬file3.o¶¼ÊDZêºÅ£¬
È»ºó¿´±êºÅºóÃæµÄÎļþÊÇ·ñ´æÔÚ£¬Èç¹û²»´æÔÚ£¬¾Í»áÈ¥ÒÀÕÕËüѰÕÒ£¬ÏñÉÏÃæµÄÀý×Ó£¬Èç¹ûfile1.o²»´æÔÚ£¬¾Í»áÌøµ½file1.o:file1.cÕâ¾ä£¬È»ºó¾Í»áÖ´ÐÐÏÂÃæÒ»¾ä gcc -c file1.cÉú³Éfile1.oÕâ¸öÎļþ¡£ºóÃæµÄ»ù±¾ÉÏÒ²ÊÇÒ»Ñù¡£
×¢ÒâÔÚдMakefileÎļþʱ£¬±êºÅÒª¶¨¸ñд£¬ºóÃæµÄÖ´ÐÐÓï¾äÒªÓÃTab¼ü¡£
3. Makefile¹æ
Ïà¹ØÎĵµ£º
1. Linux ½Å±¾±àд»ù´¡
1.1 Óï·¨»ù±¾½éÉÜ
1.1.1 ¿ªÍ·
³ÌÐò±ØÐëÒÔÏÂÃæµÄÐпªÊ¼£¨±ØÐë·½ÔÚÎļþµÄµÚÒ»ÐУ©£º
#!/bin/sh
¡¡¡¡·ûºÅ#!ÓÃÀ´¸æËßϵͳËüºóÃæµÄ²ÎÊýÊÇÓÃÀ´Ö´ÐиÃÎļþµÄ³ÌÐò¡£ÔÚÕâ¸öÀý×ÓÖÐÎÒÃÇʹÓÃ/bin/shÀ´Ö´ÐгÌÐò¡£
¡¡¡¡µ±±à¼ºÃ½Å±¾Ê±£¬Èç¹ûÒªÖ´Ðиýű¾£¬»¹±ØÐëʹÆä¿ÉÖ´ÐС£
¡¡¡¡ÒªÊ¹½Å±¾¿ÉÖ´ÐУº
±àÒ ......
linux grepÃüÁǿ´óµÄÎı¾ËÑË÷
1.×÷ÓÃ
linuxϵͳÖÐgrepÃüÁîÊÇÒ»ÖÖÇ¿´óµÄÎı¾ËÑË÷¹¤¾ß£¬ËüÄÜʹÓÃÕýÔò±í´ïʽËÑË÷Îı¾£¬²¢°ÑÆ¥ÅäµÄÐдòÓ¡³öÀ´¡£grepÈ«³ÆÊÇGlobal Regular Expression Print£¬±íʾȫ¾ÖÕýÔò±í´ïʽ°æ±¾£¬ËüµÄʹÓÃȨÏÞÊÇËùÓÐÓû§¡£
2.¸ñʽ
grep [options]
3.Ö÷Òª²ÎÊý
[options]Ö÷Òª²ÎÊý£º
£c£ºÖ»Êä³öÆ¥Åä ......
VimºÍËùÓеÄÁ÷ÐÐÎı¾±à¼Æ÷Ò»Ñù£¬Vim ¿ÉÒԺܺõı༸÷ÖÖ×Ö·û±àÂëµÄÎļþ£¬Õ⵱Ȼ°üÀ¨ UCS-2¡¢UTF-8 µÈÁ÷ÐÐµÄ Unicode ±àÂ뷽ʽ¡£È»¶ø²»ÐÒµÄÊÇ£¬ºÍºÜ¶àÀ´×Ô Linux ÊÀ½çµÄÈí¼þÒ»Ñù£¬ÕâÐèÒªÄã×Ô¼º¶¯ÊÖÉèÖá£
Vim ÓÐËĸö¸ú×Ö·û±àÂ뷽ʽÓйصÄÑ¡Ïencoding¡¢fileencoding¡¢fileencodings¡¢termencoding (ÕâЩѡÏî¿ÉÄܵÄȡֵÇë ......
ÔÚLinux
ÖÐͨ¹ýlocale
À´ÉèÖóÌÐòÔËÐеIJ»Í¬ÓïÑÔ»·¾³£¬locale
ÓÉANSI C
Ìṩ֧³Ö¡£locale
µÄÃüÃû¹æÔòΪ<
ÓïÑÔ>_<
µØÇø>.<
×Ö·û¼¯±àÂë>
£¬Èçzh_CN.UTF-8
£¬zh
´ú±íÖÐÎÄ£¬CN
´ú±í´ó½µØÇø£¬UTF-8
±íʾ×Ö·û¼¯¡£ÔÚlocale
»·¾³ÖУ¬ÓÐÒ»×é±äÁ¿£¬´ú±í¹ú¼Ê»¯»·¾³ÖеIJ»Í¬ÉèÖãº
1. & ......