当前位置:  技术问答>linux和unix

请问:怎么样才能让程序成为一个Linux内核的可装载模块?

    来源: 互联网  发布时间:2015-06-07

    本文导语:  - | //hello.c #include   #include   int init_module() {     printk("This is a modulen");     return 1; } void cleanup_module() {     printk("Bye-beyn"); } | 不好意思,上面的写错了 //hello.c #ifnd...


|
//hello.c

#include  
#include  


int init_module()
{
    printk("This is a modulen");
    return 1;
}

void cleanup_module()
{
    printk("Bye-beyn");
}



|
不好意思,上面的写错了

//hello.c

#ifndef    __KERNEL__
#define    __KERNEL__
#endif
#ifndef    MODULE
#define    MODULE
#endif

#include   
#include   

int init_module()
{
    printk("This is a modulen");
    return 0;
}

void cleanup_module()
{
    printk("Bye-byen");
}

init_module是模块装载时执行的函数
cleanup_module是模块卸掉时执行的函数


用下面的编译
gcc -I/usr/src/linux-2.4/include -c hello.c   //linux-2.4可以换成你自己的源代码
                                              //目录
用insmod ./hello.o 装载编译好的模块
然后cat /var/log/messages    你可以看到init_module中的"This is a module"
用rmmod  hello   卸掉hello
然后cat /var/log/messages    你可以看到cleanup_module中的"Bye-bye"


    
 
 

您可能感兴趣的文章:

  • 我装的redhat9是在字符模式下安装的,现在没有图形界面,请问如何装载上去?
  • 问一个问题。请问如何在文件系统管理并使用设备,也就是当一个设备装载,下载时。文件系统是如何实现的
  • 请问,如何装载mssql的jdbc的驱动程序和设置java执行程序时的参数。
  • 请问linux中如何判断内核是否已经启动。(在内核中写程序)
  • 请问在2.6的内核环境下编译2.4的内核有没有什么特殊的要求
  • 请问重新编译LINUX内核是否能将没有用的外设的驱动程序删除并减少内核占有内存的资源?请好心人仕指教!
  • Android 内核移植问题 要求识别SATA硬盘 请问内核的make menuconfig 要如何配置?求高手
  • 我的redhat as 2.1想升级内核,请问具体该怎么做?现内核版本为2.4.9-e3,想升级为2.4.9-e系列的最新版本
  • 请问:2.6的内核是抢占式还是非抢占式的?如何更改?
  • 请问在linux内核实现浮点运算怎么弄?
  • 请问:redhat有没有2.6内核呀,一定要升级才行吗?
  • 我是新手请问什末是内核
  • 请问centos6.2 fedora13 内核问题
  • 有一定基础后,请问应该先看Linux内核还是驱动呢?
  • 请问内核空间和用户空间有什么区别,是怎么划分的.谢谢
  • 请问,如何使用绑定在内核中的汉字模块?
  • 请问哪里有比较全的Linux内核编程API和数据结构的文档?
  • 请问linux内核编程的能不能调用#include <stdio.h>的函数
  • 请问有哪些比较好的linux内核开发的国外网站??
  • !请问,新下载的驱动程序该如何编译进内核呢?
  • 请问大家开发linux内核一般是在做/用于什么项目?
  • 请问:构建嵌入式linux环境时,“Linux内核的移植”是达到什么目的啊?
  • 请问linux进程的哪些信息保存在内核里?哪些信息又保存在进程空间里?谢谢
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问模块如何与用户程序进行数据交换
  • 请问我要加载内核模块 ipip.o 怎么做
  • 请问如何给内核模块传递大量的数据?
  • 请问在Unix下开发ftp传输模块,有没有什么系统函数可以调用。
  • 请问加载动态snmpd扩展模块时使用的命令#./snmpd –f –L –DXXX,DLmod参数的含义是什么?
  • 请问:在Linux的C编程中,如何取得模块路径?
  • 请问加载自定义Ko模块
  • 请问模块加载需要怎样配置环境?
  • linux下用eclipse进行开发,尤其打开较大的python代码模块,老是会卡,请问大家有没有好点的解决办法,如能提供具体设置,不胜感激
  • 请问大侠: 2.4下应用程序(user space)传大量数据给内核模块(kernel space)的可选方法和最佳方法.
  • [求助]请问在2.6内核下,怎样用ld把几个o链接成一个ko驱动模块呢?
  • 请问问题出在哪里? 内核模块方面的。
  • 请问:怎样写一个linux的系统调用,模块或写到kernel都行
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题. iis7站长之家
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!
  • 主机是WIN2000,我用的是LUNIX,请问是否可以共享上网? 如果可以请问如何设置? 500分答谢,龟儿食言!
  • 请问linux下GUI开发的问题!
  • 请问出现fstab文件丢失该怎么修复呀?
  • 请问这个方法如何调用?
  • 请问一个奇怪的问题!
  • 请问在网页中打开的新窗口,如何让其居中。
  • 请问我该学什么了


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3