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

linuxÄÚºËprintkµ÷ÊÔ


linuxÄÚºËprintkµ÷ÊÔ£¨ÕªÂ¼¡¶Linux°²È«Ìåϵ·ÖÎöÓë±à³Ì¡·£©
linuxÄÚºËprintkµ÷ÊÔ£¨ÕªÂ¼¡¶Linux°²È«Ìåϵ·ÖÎöÓë±à³Ì¡·£©
1  printk¼°¿ØÖÆÌ¨µÄÈÕÖ¾¼¶±ð
º¯ÊýprintkµÄʹÓ÷½·¨ºÍprintfÏàËÆ£¬ÓÃÓÚÄں˴òÓ¡ÏûÏ¢¡£printk¸ù¾ÝÈÕÖ¾¼¶±ð£¨loglevel£©¶ÔÏûÏ¢½øÐзÖÀà¡£
ÈÕÖ¾¼¶±ðÓú궨Ò壬ÈÕÖ¾¼¶±ðºêÕ¹¿ªÎªÒ»¸ö×Ö·û´®£¬ÔÚ±àÒëʱÓÉÔ¤´¦ÀíÆ÷½«ËüºÍÏûÏ¢Îı¾Æ´½Ó³ÉÒ»¸ö×Ö·û´®£¬Òò´Ëprintk º¯ÊýÖÐÈÕÖ¾¼¶±ðºêºÍ¸ñʽ×Ö·û´®¼ä²»ÄÜÓжººÅ¡£
ÏÂÃæÊÇÁ½¸öprintkµÄÀý×Ó£¬Ò»¸öÓÃÓÚ´òÓ¡µ÷ÊÔÐÅÏ¢£¬ÁíÒ»¸öÓÃÓÚ´òÓ¡ÁÙ½çÌõ¼þÐÅÏ¢¡£
printk(KERN_DEBUG "Here I am: %s:%i\n", _ _FILE_ _, _ _LINE_ _);
printk(KERN_CRIT "I'm trashed; giving up on %p\n", ptr);
printkµÄÈÕÖ¾¼¶±ð¶¨ÒåÈçÏ£¨ÔÚlinux26/includelinux/kernel.hÖУ©£º
#defineKERN_EMERG"<0>"/*½ô¼±Ê¼þÏûÏ¢£¬ÏµÍ³±ÀÀ£Ö®Ç°Ìáʾ£¬±íʾϵͳ²»¿ÉÓÃ*/
#defineKERN_ALERT"<1>"/*±¨¸æÏûÏ¢£¬±íʾ±ØÐëÁ¢¼´²ÉÈ¡´ëÊ©*/
#defineKERN_CRIT"<2>"/*ÁÙ½çÌõ¼þ£¬Í¨³£Éæ¼°ÑÏÖØµÄÓ²¼þ»òÈí¼þ²Ù×÷ʧ°Ü*/
#defineKERN_ERR"<3>"/*´íÎóÌõ¼þ£¬Çý¶¯³ÌÐò³£ÓÃKERN_ERRÀ´±¨¸æÓ²¼þµÄ´íÎó*/
#defineKERN_WARNING"<4>"/*¾¯¸æÌõ¼þ£¬¶Ô¿ÉÄܳöÏÖÎÊÌâµÄÇé¿ö½øÐо¯¸æ*/
#defineKERN_NOTICE"<5>"/*Õý³£µ«ÓÖÖØÒªµÄÌõ¼þ£¬ÓÃÓÚÌáÐÑ¡£³£ÓÃÓÚÓ밲ȫÏà¹ØµÄÏûÏ¢*/
#defineKERN_INFO"<6>"/*ÌáʾÐÅÏ¢£¬ÈçÇý¶¯³ÌÐòÆô¶¯Ê±£¬´òÓ¡Ó²¼þÐÅÏ¢*/
#defineKERN_DEBUG"<7>"/*µ÷ÊÔ¼¶±ðµÄÏûÏ¢*/
 
extern int console_printk[];
 
#define console_loglevel ¡¡(console_printk[0])
#define default_message_loglevel¡¡ (console_printk[1])
#define minimum_console_loglevel¡¡ (console_printk[2])
#define default_console_loglevel¡¡ (console_printk[3])
ÈÕÖ¾¼¶±ðµÄ·¶Î§ÊÇ0¡«7£¬Ã»ÓÐÖ¸¶¨ÈÕÖ¾¼¶±ðµÄprintkÓï¾äĬÈϲÉÓõļ¶±ðÊÇ DEFAULT_ MESSAGE_LOGLEVEL£¬Æä¶¨ÒåÁгöÈçÏ£¨ÔÚlinux26/kernel/printk.cÖУ©£º
/*ûÓж¨ÒåÈÕÖ¾¼¶±ðµÄprintkʹÓÃÏÂÃæµÄĬÈϼ¶±ð*/
#define DEFAULT_MESSAGE_LOGLEVEL 4 /* KERN_WARNING ¾¯¸æÌõ¼þ*/
Äں˿ɰÑÏûÏ¢´òÓ¡µ½µ±Ç°¿ØÖÆÌ¨ÉÏ£¬¿ÉÒÔÖ¸¶¨¿ØÖÆÌ¨Îª×Ö·ûģʽµÄÖÕ¶Ë»ò´òÓ¡»úµÈ¡£Ä¬ÈÏÇé¿öÏ£¬“¿ØÖÆÌ¨”¾ÍÊǵ±Ç°µÄÐéÄâÖÕ¶Ë¡£
ΪÁ˸üºÃµØ¿ØÖƲ»Í¬¼¶±ðµÄÐÅÏ¢ÏÔʾÔÚ¿ØÖÆÌ¨ÉÏ£¬ÄÚºËÉèÖÃÁË¿ØÖÆÌ¨µÄÈÕÖ¾¼¶±ðconsole_loglevel¡£printkÈÕÖ¾¼¶±ðµÄ×÷ÓÃ


Ïà¹ØÎĵµ£º

LinuxÏÂMakefileµÄautomakeÉú³ÉÈ«¹¥ÂÔ

¡¡           ת×Ô http://tech.sina.com.cn/s/2004-10-19/1115443045.shtml
   ×÷ΪLinuxϵijÌÐò¿ª·¢ÈËÔ±£¬´ó¼ÒÒ»¶¨¶¼Óöµ½¹ýMakefile£¬ÓÃmakeÃüÁîÀ´±àÒë×Ô¼ºÐ´µÄ³ÌÐòȷʵÊǺܷ½±ã¡£Ò»°ãÇé¿öÏ£¬´ó¼Ò¶¼ÊÇÊÖ¹¤Ð´Ò»¸ö¼òµ¥Makefile£¬Èç¹ûÒªÏëд³öÒ»¸ö·ûºÏ×ÔÓÉÈ ......

֨װwindowsϵͳºó£¬ÈçºÎÕÒ»Ølinux Æô¶¯Ïî

    ֮ǰװÍêwindowsºó¾Í·¢ÏÖlinuxµÄÆô¶¯ÏîÕÒ²»µ½ÁË£¬¿ªÊ¼Ê±£¬ÊµÔÚÊÇÎÞÄΰ¡£¡½á¹ûÖ»ºÃ֨װlinux£¡£¡ºÜ²Ë°É£¡£¡
    ÏÖÔÚÖÕÓÚÖªµÀÁË£¬ÆäʵÊÇ¿ÉÒԺܼòµ¥µØ¾Í°ÑlinuxÕÒ»ØÀ´µÄ£¡
    Õâ¸ö·½·¨Ö»ÏÞÓÚÓð²×°Å̵ÄÓû§£¡£¡£¡£¡
    ×°Èëlinux°²×°ÅÌ£¬ÒÔ¹âÇýÆô¶¯£¬½ ......

ÔÚwindowsƽ̨Éϴlinux C ¿ª·¢»·¾³

×¢£ºÇëÔÊÐíÎÒ×ªÔØÄúµÄ¼Ñ×÷
ÔÚwindowsÉÏ¿ª·¢Äܹ»ÔÚlinuxÉϱàÒëµÄC´úÂ룬ÎÒ²éÁ˲éÓÐ2¸öÈí¼þ¿ÉÒÔʵÏÖ£¬Ò»¸öÊÇCygwin£¬Ò»¸öÊÇmingw¡£ÆäÖÐcygwinÊÇÒ»¸öwindowsÉÏlinux»·¾³µÄÄ£Ä⹤¾ß£¬ËûÌṩÁ˺ܶàlinux¹¤¾ßµÄwindowsʵÏÖ°æ±¾£¬ÀýÈçvi£¬emacsµÈµÈ£¬µ±È»Ò²°üÀ¨GCC¡£Ê¹ÓÃmingwµÄºÃ´¦¾ÍÊDZàÒë¹ýµÄ³ÌÐòÖ±½Ó¾Í¿ÉÒÔÅÜÁË£¬¶øcygwinÔòÐè ......

linuxϵͳ±à³Ì ϵͳµ÷ÓÃ

1.fork
            ´´½¨Ò»¸öнø³Ì
2.clone          
°´Ö¸¶¨Ìõ¼þ´´½¨×Ó½ø³Ì
3.execve
          ÔËÐпÉÖ´ÐÐÎļþ
4.exit       ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ