文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>内核编写试步0

内核编写试步0

时间:2006-12-02  来源:longtem

第一份hello world 代码:

#include <linux/module.h>
#include <linux/init.h>

/*----------------all variables-------------*/
static char *string = "Marry has a little lamb!";
static int count = 6;
module_param (string, charp, S_IRUGO);
module_param (count, int, S_IRUGO);
/*----------------over----------------------*/

static int __init start (void);
static void __exit end (void);

static int __init
start (void)
{
  int i;

  printk (KERN_ALERT "File: %s. Pid: %d.\n", current->comm, current->pid);
  for (i = 0; i < count; i++)
    printk (KERN_ALERT "%s\n", string);

  return 0;
}

static void __exit
end (void)
{
  printk (KERN_ALERT "Good bye, boys and girls!\n");
}

module_init (start);
module_exit (end);
MODULE_LICENSE ("GPL");
MODULE_AUTHOR ("Sody");
MODULE_DESCRIPTION ("Just for excerise!");
---------------------------------------------------------------------------------------------------
Makefile:
obj-m := myk0.o

编译命令:make -C /usr/src/kernels/2.6.9-42.EL-smp-i686/ SUBDIRS=$PWD modules
有个万能的命令的,忘了,就不写出来了。但一定要对上自己的内核源代码位置。
---------------------------------------------------------------------------------------------------
说明:printk跟printf除了运行级别不一样外,其他都差不多,只是不支持浮点数--好像内核不大喜欢浮点数
预载差数要小心。比如,字符串的长度要限制好。但内核本身会做得比较好,会限定得比较死。
跟普通的C程序相比,驱动的编写有点像是写C++程序,要写很多“成员函数”。当然,要更小心,限制也很大
包含的头函数也不一样。跟踪也比较麻烦(普通的C在vi下用K可跟踪)
还有好多不同,等我日后慢慢添加上去。
相关阅读 更多 +
排行榜 更多 +
风度

风度

游戏工具 下载
大姨妈月经提醒

大姨妈月经提醒

健康医疗 下载
海岸线小说网

海岸线小说网

浏览阅读 下载