Linux/Unix»·¾³ÏµÄMakeºÍMakefileÏê½â
ÎÞÂÛÊÇÔÚLinux»¹ÊÇÔÚUnix»·¾³ÖУ¬make¶¼ÊÇÒ»¸ö·Ç³£ÖØÒªµÄ±àÒëÃüÁî¡£²»¹ÜÊÇ×Ô¼º½øÐÐÏîÄ¿¿ª·¢»¹Êǰ²×°Ó¦ÓÃÈí¼þ£¬ÎÒÃǶ¼¾³£ÒªÓõ½
make»òmake
install¡£ÀûÓÃmake¹¤¾ß£¬ÎÒÃÇ¿ÉÒÔ½«´óÐ͵Ŀª·¢ÏîÄ¿·Ö½â³ÉΪ¶à¸ö¸üÒ×ÓÚ¹ÜÀíµÄÄ£¿é£¬¶ÔÓÚÒ»¸ö°üÀ¨¼¸°Ù¸öÔ´ÎļþµÄÓ¦ÓóÌÐò£¬Ê¹ÓÃmakeºÍ
makefile¹¤¾ß¾Í¿ÉÒÔ¼ò½àÃ÷¿ìµØÀí˳¸÷¸öÔ´ÎļþÖ®¼ä·×·±¸´ÔÓµÄÏ໥¹ØÏµ¡£¶øÇÒÈç´Ë¶àµÄÔ´Îļþ£¬Èç¹ûÿ´Î¶¼Òª¼üÈëgccÃüÁî½øÐбàÒëµÄ»°£¬ÄǶԳÌÐòÔ±
À´Ëµ¼òÖ±¾ÍÊÇÒ»³¡ÔÖÄÑ¡£¶ømake¹¤¾ßÔò¿É×Ô¶¯Íê³É±àÒ빤×÷£¬²¢ÇÒ¿ÉÒÔÖ»¶Ô³ÌÐòÔ±ÔÚÉϴαàÒëºóÐ޸ĹýµÄ²¿·Ö½øÐбàÒë¡£Òò´Ë£¬ÓÐЧµÄÀûÓÃmakeºÍ
makefile¹¤¾ß¿ÉÒÔ´ó´óÌá¸ßÏîÄ¿¿ª·¢µÄЧÂÊ¡£Í¬Ê±ÕÆÎÕmakeºÍmakefileÖ®ºó£¬ÄúÒ²²»»áÔÙÃæ¶Ô×ÅLinuxϵÄÓ¦ÓÃÈí¼þÊÖ×ãÎÞ´ëÁË¡£
¡¡¡¡µ«ÁîÈËÒź¶µÄÊÇ£¬ÔÚÐí¶à½²ÊöLinuxÓ¦ÓõÄÊé¼®É϶¼Ã»ÓÐÏêϸ½éÉÜÕâ¸ö¹¦ÄÜÇ¿´óµ«Óַdz£¸´ÔӵıàÒ빤¾ß¡£ÔÚÕâÀïÎÒ¾ÍÏò´ó¼ÒÏêϸ½éÉÜÒ»ÏÂmake¼°ÆäÃèÊöÎļþmakefile¡£
¡¡¡¡MakefileÎļþ
¡¡
¡¡Make¹¤¾ß×îÖ÷ÒªÒ²ÊÇ×î»ù±¾µÄ¹¦ÄܾÍÊÇͨ¹ýmakefileÎļþÀ´ÃèÊöÔ´³ÌÐòÖ®¼äµÄÏ໥¹ØÏµ²¢×Ô¶¯Î¬»¤±àÒ빤×÷¡£¶ømakefile
ÎļþÐèÒª°´ÕÕijÖÖÓï·¨½øÐбàд£¬ÎļþÖÐÐèҪ˵Ã÷ÈçºÎ±àÒë¸÷¸öÔ´Îļþ²¢Á¬½ÓÉú³É¿ÉÖ´ÐÐÎļþ£¬²¢ÒªÇó¶¨ÒåÔ´ÎļþÖ®¼äµÄÒÀÀµ¹ØÏµ¡£makefile
ÎļþÊÇÐí¶à±àÒëÆ÷--°üÀ¨ Windows NT ϵıàÒëÆ÷--ά»¤±àÒëÐÅÏ¢µÄ³£Ó÷½·¨£¬Ö»ÊÇÔÚ¼¯³É¿ª·¢»·¾³ÖУ¬Óû§Í¨¹ýÓѺõĽçÃæÐÞ¸Ä
makefile Îļþ¶øÒÑ¡£
¡¡¡¡ÔÚ UNIX ϵͳÖУ¬Ï°¹ßʹÓà Makefile ×÷Ϊ makfile Îļþ¡£Èç¹ûҪʹÓÃÆäËûÎļþ×÷Ϊ makefile£¬Ôò¿ÉÀûÓÃÀàËÆÏÂÃæµÄ make ÃüÁîÑ¡ÏîÖ¸¶¨ makefile Îļþ£º
¡¡¡¡$ make -f Makefile.debug
¡¡
¡¡ÀýÈ磬һ¸öÃûΪprogµÄ³ÌÐòÓÉÈý¸öCÔ´Îļþfilea.c¡¢fileb.cºÍfilec.cÒÔ¼°¿âÎļþLS±àÒëÉú³É£¬ÕâÈý¸öÎļþ»¹·Ö±ð°üº¬×Ô¼ºµÄÍ·ÎÄ
¼þa.h
¡¢b.hºÍc.h¡£Í¨³£Çé¿öÏ£¬C±àÒëÆ÷½«»áÊä³öÈý¸öÄ¿±êÎļþfilea.o¡¢fileb.oºÍfilec.o¡£¼ÙÉèfilea.cºÍfileb.c¶¼Òª
ÉùÃ÷Óõ½Ò»¸öÃûΪdefsµÄÎļþ£¬µ«filec.c²»Ó᣼´ÔÚfilea.cºÍfileb.cÀï¶¼ÓÐÕâÑùµÄÉùÃ÷£º
¡¡¡¡#include "defs"
¡¡¡¡ÄÇôÏÂÃæµÄÎĵµ¾ÍÃèÊöÁËÕâЩÎļþÖ®¼äµÄÏ໥ÁªÏµ:
¡¡¡¡---------------------------------------------------------
¡¡¡¡#It is a example for describing makefile
¡¡¡¡prog : filea.o fileb.o filec.o
¡¡¡¡cc filea.o fileb.o filec.o -LS -o prog
¡¡¡¡filea.o : filea.c a.h defs
¡¡¡¡cc -c filea.c
¡¡
Ïà¹ØÎĵµ£º
ÊÖÍ·Óиöep9315µÄ°å£¬½ñÌìͻȻÏëÆðÅÜÒ»ÏÂadslÉÏÍø¡£ÍíÉÏ»ØÀ´¾Í¿ªÊ¼¸ã¡£
´Ó10µãµ½ÏÖÔÚ£¬ÖÕÓÚÄܹ»ÅÜÆðÀ´¡£
¸ø´ó¼Ò½è¼øÒ»Ï¡£
1.±àÒëÄںˣ¬°ÑpppµÄÄÇЩѡÏîÑ¡ÉÏ¡£ (ÎÒÓÃ2.6.8.1µÄkernel£¬cirrus µÄpatch)
2.libpcap-0.9.1 Õâ¸ö°üÊÇpppdÐèÒªµÄ¡£
./configure CC=arm-linux-gcc CFLAGS=-msoft-float --target=arm-linu ......
ÆäÖÐÓÐһЩº¯ÊýµÄ×÷ÓÃÍêÈ«Ïàͬ£¬Ö»ÊDzÎÊý²»Í¬¡££¨¿ÉÄܺܶàÊìϤC++ÅóÓÑÂíÉϾÍÄÜÁªÏëÆðº¯ÊýÖØÔØ£¬µ«ÊDZðÍüÁËLinuxºËÐÄÊÇÓÃCÓïÑÔдµÄ£¬ËùÒÔÖ»
ÄÜÈ¡³É²»Í¬µÄº¯ÊýÃû£©¡£»¹ÓÐһЩº¯ÊýÒѾ¹ýʱ£¬±»ÐµĸüºÃµÄº¯ÊýËù´úÌæÁË£¨gccÔÚÁ´½ÓÕâЩº¯Êýʱ»á·¢³ö¾¯¸æ£©£¬µ«ÒòΪ¼æÈݵÄÔÒò»¹±£Áô×Å£¬ÕâЩº¯ÊýÔÚǰ
Ãæ±êÉÏ“*”ºÅÒÔÊ ......
linuxÖУ¬Í¨¹ý
ls -al
ÏÔʾµÄÊôÐÔÖУ¬µÚÒ»¸ö¾Í±êÖ¾ÎļþÀàÐÍ¡£Í¨³£ÓÐһϼ¸ÖÖÇé¿ö£º
[ - ]££££ÆÕͨÎļþ
[ d]££££Ä¿Â¼
[ l ]££££Á¬½ÓÎļþ
[ b]££££¿éÉ豸
[ c ]££££×Ö·ûÉ豸
[ s ]££££Ì×½á×Ö
[ p ]££££¹ÜµÀ ......
3. GDBµÄʵÏÖ
GDBÊÇGNU·¢²¼µÄÒ»¸öÇ¿´óµÄ³ÌÐòµ÷ÊÔ¹¤¾ß£¬ÓÃÒÔµ÷ÊÔC/C++³ÌÐò¡£¿ÉÒÔʹ³ÌÐòÔ±ÔÚ³ÌÐòÔËÐеÄʱºò¹Û²ì³ÌÐòÔÚÄÚ´æ/¼Ä´æÆ÷ÖеÄʹÓÃÇé¿ö¡£ËüµÄʵÏÖÒ²ÊÇ»ùÓÚptraceϵͳµ÷ÓÃÀ´Íê³ÉµÄ¡£
Æä
ÔÀíÊÇÀûÓÃptraceϵͳµ÷Óã¬ÔÚ±»µ÷ÊÔ³ÌÐòºÍgdbÖ®¼ä½¨Á¢¸ú×Ù¹ØÏµ¡£È»ºóËùÓз¢Ë͸ø±»µ÷ÊÔ³ÌÐòµÄÐźÅ(³ýSIGKILL)¶¼»á±»gdb½Ø ......
Ò»¡¢±àÒëºÍÁ¬½Ó
Ò»°ãÀ´Ëµ£¬Èç¹û¿âµÄÍ·Îļþ²»ÔÚ /usr/include Ŀ¼ÖУ¬ÄÇôÔÚ±àÒëµÄʱºòÐèÒªÓà -I ²ÎÊýÖ¸¶¨Æä·¾¶¡£ÓÉÓÚͬһ¸ö¿âÔÚ²»Í¬ÏµÍ³ÉÏ¿ÉÄÜλÓÚ²»Í¬µÄĿ¼Ï£¬Óû§°²×°¿âµÄʱºòÒ²¿ÉÒÔ½«¿â°²×°ÔÚ²»Í¬µÄĿ¼Ï£¬ËùÒÔ¼´Ê¹Ê¹ÓÃͬһ¸ö¿â£¬ÓÉÓÚ¿âµÄ·¾¶µÄ²»Í¬£¬Ôì³ÉÁËÓà -I ²ÎÊýÖ¸ ......