linux内核编程软件,Linux内核编程之第一个内核程序
发布日期:2021-06-24 17:13:04 浏览次数:2 分类:技术文章

本文共 848 字,大约阅读时间需要 2 分钟。

模块编程在程序设计中相当重要,不过这不是我要留下的,我要说的是Linux内核的模块编程,有些人可能在编程的过程中遇到个种种问题,我也一样,下面是内核模块的一般步骤,与众好友分享:

#include

#include

#include

static int __init memtest_init(void)

{

printk("Hello

kernel!\n\n");

return

0;

}

static void __exit memtest_exit(void)

{

printk("Quit kernel!\n");

}

module_init(memtest_init);

module_exit(memtest_exit);

MODULE_LICENSE("GPL");

模块编程简单,但是Makefile文件对于初学者来说,也是一个头疼的问题,因为Makefile文件对于符号的定义很严谨,哪怕一个空格也会导致编译无法通过。

下面给出一个通用的Makefile,大家可以参阅:

#####

obj-m=hellomod.o #编译源文件生成的目标文件

CURRENT_PATH = $(shell pwd)

KERNEL_PATH = $(shell uname -r)

LINUX_KERNEL_PATH = /usr/src/linux-headers-$(KERNEL_PATH)

all:

make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) modules

clean:

make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) clean

下面介绍具体的运行步骤:

1.使用make编译Makefile文件

2.加载内核模块:sudo insmod hellomod.ko

3.用dmesg打印内核模块信息

4.卸载内存模块:sudo rmmod hellomod

到此基本模块框架就介绍完了。

转载地址:https://blog.csdn.net/weixin_34017915/article/details/116616037 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Linux搭建防火墙服务器,线上centos linux服务器iptables防火墙简易配置模板
下一篇:linux ssh配置目录权限管理,Linux下ssh/sftp配置和权限设置

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月18日 07时24分11秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章