Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linuxÏÂautomakeÉú³ÉmakefileÈ«¹¥ÂÔ

×÷ΪLinuxϵijÌÐò¿ª·¢ÈËÔ±£¬´ó¼ÒÒ»¶¨¶¼Óöµ½¹ýMakefile£¬ÓÃmakeÃüÁîÀ´±àÒë×Ô¼ºÐ´µÄ³ÌÐòȷʵÊǺܷ½±ã¡£Ò»°ãÇé¿öÏ£¬´ó¼Ò¶¼ÊÇÊÖ¹¤Ð´Ò»¸ö¼òµ¥Makefile£¬Èç¹ûÒªÏëд³öÒ»¸ö·ûºÏ×ÔÓÉÈí¼þ¹ßÀýµÄMakefile¾Í²»ÄÇôÈÝÒ×ÁË¡£
¡¡¡¡ÔÚ±¾ÎÄÖУ¬½«¸ø´ó¼Ò½éÉÜÈçºÎʹÓÃautoconfºÍautomakeÁ½¸ö¹¤¾ßÀ´°ïÖúÎÒÃÇ×Ô¶¯µØÉú³É·ûºÏ×ÔÓÉÈí¼þ¹ßÀýµÄMakefile£¬ÕâÑù¾Í¿ÉÒÔÏó³£¼ûµÄGNU³ÌÐòÒ»Ñù£¬Ö»ÒªÊ¹ÓÓ./configure”£¬“make”£¬“make instal”¾Í¿ÉÒ԰ѳÌÐò°²×°µ½LinuxϵͳÖÐÈ¥ÁË¡£Õ⽫ÌرðÊʺÏÏë×ö¿ª·ÅÔ´´úÂëÈí¼þµÄ³ÌÐò¿ª·¢ÈËÔ±£¬ÓÖ»òÈç¹ûÄãÖ»ÊÇ×Ô¼ºÐ´Ð©Ð¡µÄToy³ÌÐò£¬ÄÇôÕâ¸öÎÄÕ¶ÔÄãÒ²»áÓкܴóµÄ°ïÖú¡£
¡¡¡¡Ò»¡¢Makefile½éÉÜ
¡¡¡¡MakefileÊÇÓÃÓÚ×Ô¶¯±àÒëºÍÁ´½ÓµÄ£¬Ò»¸ö¹¤³ÌÓкܶàÎļþ×é³É£¬Ã¿Ò»¸öÎļþµÄ¸Ä±ä¶¼»áµ¼Ö¹¤³ÌµÄÖØÐÂÁ´½Ó£¬µ«ÊDz»ÊÇËùÓеÄÎļþ¶¼ÐèÒªÖØбàÒ룬MakefileÖмͼÓÐÎļþµÄÐÅÏ¢£¬ÔÚmakeʱ»á¾ö¶¨ÔÚÁ´½ÓµÄʱºòÐèÒªÖØбàÒëÄÄЩÎļþ¡£
¡¡¡¡MakefileµÄ×ÚÖ¼¾ÍÊÇ£ºÈñàÒëÆ÷ÖªµÀÒª±àÒëÒ»¸öÎļþÐèÒªÒÀÀµÆäËûµÄÄÄЩÎļþ¡£µ±ÄÇЩÒÀÀµÎļþÓÐÁ˸ı䣬±àÒëÆ÷»á×Ô¶¯µÄ·¢ÏÖ×îÖÕµÄÉú³ÉÎļþÒѾ­¹ýʱ£¬¶øÖØбàÒëÏàÓ¦µÄÄ£¿é¡£
¡¡¡¡MakefileµÄ»ù±¾½á¹¹²»ÊǺܸ´ÔÓ£¬µ«µ±Ò»¸ö³ÌÐò¿ª·¢ÈËÔ±¿ªÊ¼Ð´Makefileʱ£¬¾­³£»á»³ÒÉ×Ô¼ºÐ´µÄÊÇ·ñ·ûºÏ¹ßÀý£¬¶øÇÒ×Ô¼ºÐ´µÄMakefile¾­³£ºÍ×Ô¼ºµÄ¿ª·¢»·¾³Ïà¹ØÁª£¬µ±ÏµÍ³»·¾³±äÁ¿»ò·¾¶·¢ÉúÁ˱仯ºó£¬Makefile¿ÉÄÜ»¹Òª¸ú×ÅÐ޸ġ£ÕâÑù¾ÍÔì³ÉÁËÊÖ¹¤ÊéдMakefileµÄÖî¶àÎÊÌ⣬automakeÇ¡ºÃÄܺܺõذïÖúÎÒÃǽâ¾öÕâЩÎÊÌâ¡£
¡¡¡¡Ê¹ÓÃautomake£¬³ÌÐò¿ª·¢ÈËÔ±Ö»ÐèҪдһЩ¼òµ¥µÄº¬ÓÐÔ¤¶¨ÒåºêµÄÎļþ£¬ÓÉautoconf¸ù¾ÝÒ»¸öºêÎļþÉú³Éconfigure£¬ÓÉautomake¸ù¾ÝÁíÒ»¸öºêÎļþÉú³ÉMakefile.in£¬ÔÙʹÓÃconfigureÒÀ¾ÝMakefile.inÀ´Éú³ÉÒ»¸ö·ûºÏ¹ßÀýµÄMakefile¡£ÏÂÃæÎÒÃǽ«Ïêϸ½éÉÜMakefileµÄautomakeÉú³É·½·¨¡£
¡¡¡¡¶þ¡¢Ê¹ÓõĻ·¾³
¡¡¡¡±¾ÎÄËùÌáµ½µÄ³ÌÐòÊÇ»ùÓÚLinux·¢Ðа汾£ºFedora Core release 1£¬Ëü°üº¬ÁËÎÒÃÇÒªÓõ½µÄautoconf£¬automake¡£
¡¡¡¡Èý¡¢´ÓhelloworldÈëÊÖ
¡¡¡¡ÎÒÃÇ´Ó´ó¼Ò×ʹÓõÄÀý×Ó³ÌÐòhelloworld¿ªÊ¼¡£
¡¡¡¡ÏÂÃæµÄ¹ý³ÌÈç¹û¼òµ¥µØ˵À´¾ÍÊÇ£º
¡¡¡¡Ð½¨Èý¸öÎļþ£º
¡¡¡¡¡¡helloworld.c
¡¡¡¡¡¡configure.in
¡¡¡¡¡¡Makefile.am
¡¡¡¡È»ºóÖ´ÐУº
aclocal; autoconf; automake --add-missing; ./configure; make; ./helloworld
¡¡¡¡¾Í¿ÉÒÔ¿´µ½Makefile±»²úÉú³öÀ´£¬¶øÇÒ¿ÉÒÔ½«helloworl


Ïà¹ØÎĵµ£º

Ìí¼ÓLinuxϵͳµ÷ÓÃ

¡¾ÊµÑé»·¾³¡¿
Fedora£¬ÄÚºË2.6.21.6
¡¾ÊµÑé²½Öè¡¿
1. cd /usr/src/linux
2. vi kernel/sys.c
ÔÚ×îºóÌí¼ÓÈçÏ´úÂ룺
asmlinkage long sys_processinfo(void)
{
int num=0;
unsigned long state;
struct task_struct *p;
for_each_process(p)
{
printk("pid=%-5d,name=%-20s",p->tgid,p->co ......

Ìí¼ÓLinuxÄ£¿é

ÓÐÁËϵͳµ÷Óõľ­Ñ飬Ìí¼ÓÄ£¿é»¹ÊǺÜ˳ÀûµÄ¡£
¡¾ÊµÑé»·¾³¡¿
Fedora£¬ÄÚºË2.6.21.6
¡¾ÊµÑé²½Öè¡¿
1. cd /root/homework/module
2. vi process.c
3. ¼ÓÈëÈçÏ´úÂ룺
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
static int process_init(void)
{
int num= ......

linux¹ÒÔØÔ­ÓÐLVMÅÌ

·¶Àý£º
    1¡¢pvs
¡¡¡¡[root@localhost yuanbor]# /sbin/pvs ¼ì²éÊÇ·ñÓÐÖØÃûµÄVG×é
¡¡¡¡2¡¢vgrename
¡¡¡¡[root@localhost yuanbor]#/sbin/vgrename [VG UUID] /dev/VolGroup01  #½«Öظ´µÄVG×é  ¸ù¾ÝUUID¸ÄΪ VolGroup01
¡¡¡¡[root@localhost yuanbor]# /sbin/pvs  #¼ì²é Ð޸Ľá¹û
¡¡¡ ......

LinuxÖÐÈçºÎн¨Óû§


¶ÔÓÚÒ»°ãÓû§À´Ëµ£¬Ö÷Ŀ¼£¨home directory£©ÊÇÓ²ÅÌÉÏΨһ¿ÉÒÔÔ­À´Ð´¶«Î÷µÄµØ·½¡£Ò»°ãµÄ·¾¶ÃûÊÇ/home/login_user_name¡£
Ö÷Ŀ¼ÓÃÓÚ´æ´¢¸÷ÖÖÓû§Îļþ£ºÉèÖÃÎļþ£¬³ÌÐòÅäÖÃÎļþ£¬Óû§Îĵµ£¬Êý¾Ý netscape µÄ»º´æ£¬ÓʼþµÈµÈ¡£×÷Ϊһ¸öÆÕͨÓû§£¬Äã¿ÉÒÔÔÚÖ÷Ŀ¼Ï½¨Á¢ÐµÄĿ¼°²ÅÅÄã×Ô¼ºµÄĿ¼½á¹¹¡£ÆäËûÓû§ÎÞ·¨ÔĶÁÄãµÄ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ