ÐÂÊÖÇë½Ì£ºÈçºÎ¼ÓÔØ×Ô¶¨ÒåÄ£¿é
±¾ÈËÏÖÔÚÕýÔÚ¸ãµÄÒ»¸ö¶«¶«ÀïÐèÒª¼ÓÔØ×Ô¼º¶¨ÒåµÄÄ£¿é£¬ÓÚÊDZãѧϰ±àÒë×Ô¶¨ÒåÄ£¿é£¬ÏÂÃæÕâ¸ö³ÌÐò´ó¼Ò¿Ï¶¨¶¼¼û¹ý£¬µ«ÎÒ¾ÍÊDZàÒë²»¹ý°¡¡£#define __KERNEL__
#define MODULE
#include <linux/module.h>
#include <linux/kernel.h>
int init_module()
{
printk("<1>hello!\n");
return 0;
}
void cleanup_module()
{
printf("<1>bye\n");
}
³ÌÐò±£´æÎªhello.c,È»ºó¸ÃÈçºÎ½øÐУ¬ÎÒÖªµÀgccºÍinsmod£¬µ«ÊǾßÌåÔõôÓã¬ÄÜ·ñÏêϸ¸æÖ®¡£ ÄãÔõô±àÒëµÄ£¿¸Ã²»»áÊÇÓÃgcc -o hello hello.c°É¡£
»Ø¸´ #2 zltjiangshi µÄÌû×Ó
ÊÇÓÃgcc -c hello.c omg£¬Ó¦ÓóÌÐò²ÅÕâô±àÒ룬ÄÚºËÄ£¿é²»ÊÇÕâô¸ÉµÄ£¬ÒªÐ´makefileµÄ¡«¡«ÄãµÄ³ÌÐòÊÇ´ÓÄı¾Êé¿´µ½µÄ£¬ÊéÉÏ»á½ÌÄãÔõôдmakefileµÄ¡£
»Ø¸´ #4 zltjiangshi µÄÌû×Ó
ÎÒ¾ÍÊÇÓÃgcc±àÒëµÄ°¡£¬¼¸Ìì¼ÓÁË·¾¶-I /usr/src/linux-2.4.20-8/include£¬¾Í±àÒë³É¹¦ÁË£¬È»ºóinsmod¼ÓÔØ½øÁËÄںˡ£Äã˵µÄmakefileÎÒÌý˵¹ý£¬µ«¾ßÌåÈçºÎÓã¬ÄúÄܲ»ÄÜ˵Ã÷°×µã£¬¾ÍÕë¶ÔÎÒÕâ¸ö£¬ÄãдÏ£¬ºÃÂ𣿠ÎÒÒ»Ö±ÊÇ gcc -c hello.c -D _KERNEL_ -DMODULE Ê×ÏÈ£¬makefileÓÐЩͨÓõĹæÔò£¬²»ÊÇÒ»Á½¾ä»°ÄÜ˵Çå³þµÄ
Æä´Î£¬ÆÕͨµÄmakefileºÍÄ£¿éµÄmakefileд·¨ÊÇÓÐÇø±ðµÄ
×îºó£¬2.4ºÍ2.6Äں˵Äд·¨Ò²ÓÐÇø±ð
ÄãÕâ¸öÄ£¿é²»ÊÇÆ¾¿Õд³öÀ´µÄ°É£¬´ÓÄÄ¿´À´µÄ¾Íµ½ÄÄÈ¥ÕÒmakefile [url]http://bbs.chinaunix.net/viewthread.php?tid=700366&extra=page%3D1[/url]
ÀïÃæÓнéÉÜÕë¶Ô2.4ºÍ2.6µÄÄ£¿é±àÒëµÄmakefileÎļþ
µ±È»ÕâÖ»ÊÇmakefileµÄÒ»¸ö¼òµ¥µÄÓ¦ÓÃ
¼òÂԵĽéÉÜÁËÄ£¿éµÄ±àÒë
Ò³:
[1]