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

内核驱动两个.c文件的问题!

    来源: 互联网  发布时间:2016-08-01

    本文导语:  大家好,有个问题请教大家: 我在内核里面有一个hello.c的文件,编译一个ko的模块后,可以正常挂载,可是我想在hello.c里面调用另外一个.c文件的函数, 但是好像编译可以通过,但是挂载模块的时候提示找不到调用的这个函...

大家好,有个问题请教大家:

我在内核里面有一个hello.c的文件,编译一个ko的模块后,可以正常挂载,可是我想在hello.c里面调用另外一个.c文件的函数,

但是好像编译可以通过,但是挂载模块的时候提示找不到调用的这个函数.

请教下大家,内核驱动调用其他c文件的函数怎么解决,这两个c文件是希望编译成一个模块,这个问题怎么解决,或者需要看什么书籍,谢谢!

|
我觉得至少有两种方法:
1)像上面说的,不过有点修改:
你的文件test1.c test2.c
假设你的模块名为dummy 

obj-m  +=  dummy.0
dummy-objs := test1.o test2.o

2) 
加个.h 文件
extern some_interface();
在test1.c中实现这个some_interface
而在test2.c中 include这个.h,并调用some_interface

|
如果你是用makefile编译的话,就很好解决了 

假设你的主程序 test.c 
用到了test1.c test2.c 

将代码以外部模块方式编译 
make文件中 
obj-m :=test.o 
module-objs :=test1.o test2.o

    
 
 

您可能感兴趣的文章:

  • 有两个内核,怎么删除其中一个?
  • 关于Linux内核里两个头文件irqs.h
  • 两个内核模块之间的如何调用变量,函数?
  • 请教两个关于内核的启动参数的问题
  • ■2.6内核的两个宏常量“nr_syscalls”和“NR_syscalls”?
  • 用netlink进行用户态和内核态通信,想传两个整数进去,该如何操作,我只会发个字符串进去,求关键部位代码
  • 我用一个新硬盘,分好两个区(ext2和swap),再在REDHAT LINUX7.3下把内核文件和所有的文件系统COPY到这个新硬盘上,那么我怎么把这个新硬盘做
  • 编译内核后出现两个主要问题: 声卡没声,不能挂载windows分区
  • 各位大侠,我想编译一个多文件内核模块,但是无论怎么编,tcp_phas.c这个文件总是不编译(我在这个里面写上乱行不报错),下面是两个方法,请指教。
  • 内核升级后,如何在新的内核中加载显卡驱动?
  • 弱智问题:搞内核能不能不学驱动编程啊?网络协议栈必须要谙熟驱动吗?
  • 【求助】基于2.6.29内核编译的驱动程序能否应用于2.6.32内核的系统?
  • linux 2.6.15 中被编译为模块的驱动test.ko,应该放在什么路径下才能使得在需要该驱动时,由内核自动加载?谢谢
  • 请问重新编译LINUX内核是否能将没有用的外设的驱动程序删除并减少内核占有内存的资源?请好心人仕指教!
  • 新增一个驱动后,内核不启动
  • 驱动编译环境的内核版本到底是不是必须和使用环境的内核版本一致?
  • 如何获得芯片的内核驱动
  • 我下载了一个驱动,在2.4内核编译后用insmod加载说内核版本不一样?
  • 内核模块和设备驱动的区别?
  • 内核如何知道板子上的硬件要用哪个驱动?
  • rndis驱动编译成内核模块
  • 想搞嵌入式驱动的开发,请大虾给个简单例程(通过SPI读写外扩存储芯片),以及开发步骤及应注意的地方,怎么加入内核和使用该驱动?谢谢
  • linux内核与驱动面试
  • 如何将驱动程序嵌入到内核中?
  • linux内核编程,具体指什么,是不是就是驱动开发 ?
  • 有一定基础后,请问应该先看Linux内核还是驱动呢?
  • 将驱动模块编译进内核是否有用??
  • 谁有2.4内核可用的网卡驱动及应用程序?
  • 求助:makefile,驱动与linux内核的关系?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux内核中影响tcp三次握手的一些协议配置
  • Fedora Core 2自带的内核升级程序下载下来内核后,要不要再编译一遍内核?
  • TCP协议四次断连过程介绍及Linux内核协议栈中相关设置项
  • 进程内核栈和操作系统内核栈的关系
  • CentOS 6内核升级:下载编译启用新内核版本详细过程
  • Linux中内核线程不访问内核态地址空间?
  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • 2.6内核下编译2.4内核
  • linux内核中的likely宏和unlikely宏介绍及用法
  • 谁能提供kgdb内核补丁内核模块的下载
  • CentOS 6.5 下载地址及如何升级内核(kernel)版本到 3.10.28
  • 编译新内核后怎么进入原来内核
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • 请问linux中如何判断内核是否已经启动。(在内核中写程序)
  • docker使用的技术之Container内核原理介绍
  • 内核模块跟内核版本不匹配????????
  • 请教:如何安装新内核(rpm包)而不同原来得内核冲突?? 在线等待!!
  • linux为什么要升级内核?升级内核有何作用?
  • 内核源码和结果make过的内核源码有什么区别
  • 不重新编译内核能修改内核函数吗?
  • 如何学好内核?学了内核能应用于哪方面?


  • 站内导航:


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

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

    浙ICP备11055608号-3