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 ......
²ÉÓù²ÏíÄÚ´æÍ¨ÐŵÄÒ»¸öÏÔ¶øÒ×¼ûµÄºÃ´¦ÊÇЧÂʸߣ¬ÒòΪ½ø³Ì¿ÉÒÔÖ±½Ó¶ÁдÄڴ棬¶ø²»ÐèÒªÈκÎÊý¾ÝµÄ¿½±´¡£¶ÔÓÚÏñ¹ÜµÀºÍÏûÏ¢¶ÓÁеÈͨÐÅ·½Ê½£¬ÔòÐèÒªÔÚÄÚ
ºËºÍÓû§¿Õ¼ä½øÐÐËĴεÄÊý¾Ý¿½±´£¬¶ø¹²ÏíÄÚ´æÔòÖ»¿½±´Á½´ÎÊý¾Ý[1]£ºÒ»´Î´ÓÊäÈëÎļþµ½¹²ÏíÄÚ´æÇø£¬ÁíÒ»´Î´Ó¹²ÏíÄÚ´æÇøµ½Êä³öÎļþ¡£Êµ¼ÊÉÏ£¬½ø³ÌÖ®¼äÔÚ¹²
ÏíÄÚ´æÊ±£¬²¢²»×ÜÊ ......
3. GDBµÄʵÏÖ
GDBÊÇGNU·¢²¼µÄÒ»¸öÇ¿´óµÄ³ÌÐòµ÷ÊÔ¹¤¾ß£¬ÓÃÒÔµ÷ÊÔC/C++³ÌÐò¡£¿ÉÒÔʹ³ÌÐòÔ±ÔÚ³ÌÐòÔËÐеÄʱºò¹Û²ì³ÌÐòÔÚÄÚ´æ/¼Ä´æÆ÷ÖеÄʹÓÃÇé¿ö¡£ËüµÄʵÏÖÒ²ÊÇ»ùÓÚptraceϵͳµ÷ÓÃÀ´Íê³ÉµÄ¡£
Æä
ÔÀíÊÇÀûÓÃptraceϵͳµ÷Óã¬ÔÚ±»µ÷ÊÔ³ÌÐòºÍgdbÖ®¼ä½¨Á¢¸ú×Ù¹ØÏµ¡£È»ºóËùÓз¢Ë͸ø±»µ÷ÊÔ³ÌÐòµÄÐźÅ(³ýSIGKILL)¶¼»á±»gdb½Ø ......
½ñÌì±àÒëBlueZµÄʱºò£¬Í»È»¼ä·¢ÉúÁËÒ»¸ö´´½¨ Ó²Á´½Óʧ°Ü £¬ÄÔº£ÀïÌø³öÁËÁËÒ»¸öʲôÊÇÓ²Á´½ÓµÄ¸ÅÄһʱ¼ä»¹Õæ»Ø´ð²»ÉÏÀ´£¬googleÁËÏ£¬·¢ÏÖÕâÆª²©ÎÄÃèÊöµÄºÜÇåÎú£¬×ªÔØÖ®£¬ÒÔ±¸Íü...
Á´½Ó——ÊÇÒ»ÖÖÔÚ¹²ÏíÎļþºÍ·ÃÎÊËüµÄÓû§µÄÈô¸ÉĿ¼ÏîÖ®¼ä½¨Á¢ÁªÏµµÄÒ»ÖÖ·½·¨¡£
LinuxÖаüÀ¨Á½ÖÖÁ´½Ó£ºÓ²Á´½Ó(Hard Link)ºÍÈí ......
1. Linux ½Å±¾±àд»ù´¡
1.1 Óï·¨»ù±¾½éÉÜ
1.1.1 ¿ªÍ·
³ÌÐò±ØÐëÒÔÏÂÃæµÄÐпªÊ¼£¨±ØÐë·ÅÔÚÎļþµÄµÚÒ»ÐУ©£º
#!/bin/sh
¡¡¡¡·ûºÅ#!ÓÃÀ´¸æËßϵͳËüºóÃæµÄ²ÎÊýÊÇÓÃÀ´Ö´ÐиÃÎļþµÄ³ÌÐò¡£ÔÚÕâ¸öÀý×ÓÖÐÎÒÃÇʹÓÃ/bin/shÀ´Ö´ÐгÌÐò¡£
¡¡¡¡µ±±à¼ºÃ½Å±¾Ê±£¬Èç¹ûÒªÖ´Ðиýű¾£¬»¹±ØÐëʹÆä¿ÉÖ´ÐС£
¡¡¡¡ÒªÊ¹½Å±¾¿ÉÖ´ÐУº
±àÒë ch ......