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

驱动接口调用问题,大家指教,初学。

    来源: 互联网  发布时间:2016-04-17

    本文导语:  在驱动里要调用别的驱动的接口函数,比如在音频里调用i2c等。是否可以直接调用i2c驱动目录下的.h ,还是一定要调用include/linux这个下面的.h ,为什么? 还有是不是被别的驱动调用的函数要用EXPORT_SYMBOL(func_a);这...

在驱动里要调用别的驱动的接口函数,比如在音频里调用i2c等。是否可以直接调用i2c驱动目录下的.h ,还是一定要调用include/linux这个下面的.h ,为什么?


还有是不是被别的驱动调用的函数要用EXPORT_SYMBOL(func_a);这个声明?用这个声明后是否还要在.h中给出才能用?


如果要在.h中给出才能用的话,那么EXPORT_SYMBOL(func_a);这个符号具体起的是什么作用?

|


1,原则上,头文件只要你的程序能找到,你都可以用。但是通常我们写driver,建议只用include下的头文件!
2,是的,要用EXPORT_SYMBOL将可能被别的驱动调用的函数导出。这个申明不需要在.h中给出!你在其它驱动中要用到EXPORT_SYMBOL()导出的函数的时侯,可以先用extern声明一下该函数来自外部引用!

我觉得你没有理解“头文件的工作原理”,看看书把!

|

说得没错,不要出现类似
#include “../xxx.h"

同一级目录的可以。
#include "xxx.h"

2. 用了EXPORT_SYMBOL,应该不需要extern了。



|
头文件原则上你可以放到任何地方,只要编译器能够找到即可!
编译器如何来找了,除了编译器默认的路径之外,可以用-I指定任意个路径,比如:
gcc -o test test.c -I/path1 -I/path2 -I/path2 ...
只要在头文件存在与这些路径下,编译器就可以找到! 另外,包含和.c 文件相同路径的头文件,不需要用-I指定!

如果你用上面的 -I指定,你也可以直接给头文件加上路径,比如:
#include "/yourheader/path/head.h" #include "../../yourheader/path/head.h"之类

至于在kernel中,不建议用上面的方法,是一种规范的方法,而不是说不可以!在kernel中,通常公共部分头文件放到include目录下,私有的放到你自己模块相同的目录即可


|
自己也不懂。。。随便也学习一下

|



能解释下头文件的工作原理吗?为什么要在同一级目录下呢,include那个目录不也是不在同一级目录吗?

|
学习ing,先沙发!

|


此帖正解!

    
 
 

您可能感兴趣的文章:

  • 构建linux 驱动开发环境问题。初学,大家指教。谢谢了
  • 驱动中的简单问题,大家指教!!!!!!!!!!
  • 初学linux设备驱动,菜鸟级问题,请指教,感激不尽
  • 驱动原理问题,大家指教,初学。
  • 调用驱动的一个初学者问题,大家指教,谢谢了。!!!!!!!!!!
  • 请问重新编译LINUX内核是否能将没有用的外设的驱动程序删除并减少内核占有内存的资源?请好心人仕指教!
  • i2c 驱动的问题,高人指教。
  • 音频设备驱动使用出错!请高手指教!
  • 驱动程序框架问题,大家指教。
  • redhat 9.0 下驱动程序开发是否需要重新编译内核?求高手指教!
  • linux键盘及串口驱动问题,初学,大家指教。急,在线等。谢谢了
  • 高分跪请高手指教,无线网卡驱动的几个问题!
  • 刚学LINUX驱动编程,书上的第一个列子就调不过去,请高手指教
  • [高分求助]小弟在编第一个驱动程序时出现了若干辣手问题,请高手指教!
  • linux设备驱动应该怎么学习?求达人经验指教
  • linux如何知道自己写的驱动被注册成/dev目录下的什么文件,初学,大家指教。
  • linux驱动模型问题,大家指教。!!!!!!!!!!!!!谢谢了!!!!!!!!!!!!
  • linux:怎么在驱动中调用IIC驱动?
  • Linux环境下,如何一个驱动中调用另外一个驱动
  • linux下一个驱动怎么调用另一个驱动
  • Linux源代码中ata驱动为什么要调用pci驱动的代码
  • 请教一下在驱动里怎么调用应用程序
  • 怎么调用PC的linux驱动接口??
  • LINUX下如何调用网卡驱动程序?
  • 请教:linux的驱动程序如何调用动态连接库?
  • 请问驱动程序中系统调用使用情况
  • 驱动可以调用共享库文件so吗??
  • 【求助】:如何用ioctl()函数调用一个驱动程序
  • CAT命令读取设备文件,驱动read函数被反复调用,为什么?
  • 如何在程序中调用SHELL Library驱动中的命令
  • 底层硬件驱动如何调用应用层的回调函数,求指点!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 初学者,修改驱动问题。
  • 初学Linux驱动问题(1)
  • 驱动初学者的疑问?
  • 初学者问题:怎样安装网卡的驱动程序
  • 我是java的初学者,请问在Jbuilder6 中如何安装oracle8.0.5的Jdbc数据库驱动?
  • 初学者关于linux驱动异步通知的小问题
  • linux初学者一简单问题!在线送分!linux设备驱动程序一书的第一个程序.
  • 读驱动程序的一些问题关于#if,#ifdef等(初学)
  • 初学Linux,问怎样在RedHatLinux9上访问C(fat)盘,还有怎样安装显卡驱动
  • 初学字符设备驱动遇到的问题
  • 关于驱动程序的编译.初学,请教几个问题!
  • 初学驱动,遇到一点问题
  • 求教:初学触摸屏驱动,请求IRQ_ADC和IRQ_TS中断的时候总是返回EBUSY?
  • 请教驱动程序交叉编译问题(初学)
  • 初学linux驱动
  • 嵌入式系统字符驱动程序(应用)问题(初学),请帮忙回答
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式
  • 字符设备驱动,混杂设备驱动,总线、设备、驱动模型、平台驱动
  • UIO(linux Userspace I/O子系统)用户空间设备驱动I/O技术介绍
  • 好不容易下到sis900网卡for unix的驱动,但装上驱动后系统驱动时: SiS900 adapter initialization failure!
  • 我的网卡在redhat7.3下不能自动驱动,但我有for linux的驱动程序,请问如何才能驱动我的网卡,我是菜菜,请详细说明,谢谢!
  • Linux环境下,“PC机的驱动”与“嵌入式驱动”有什么区别?
  • linux驱动 单片机驱动
  • u boot中怎样写flash驱动以及串口驱动
  • 一个驱动文件,生成多个驱动模块??
  • -------------- 请问大家,做好一个PCI设备驱动了,如何做个应用程序来使用这个驱动呢??
  • pcie驱动和pci驱动
  • usb驱动中 hcd,pcd,device,gadget驱动有什么区别啊?
  • 移植pci驱动和RTL8139网卡驱动,只发生一次中断?
  • 想试着编写简单驱动玩,但是手头上没有什么好驱动的设备,大家支招
  • 请教有关linux驱动开发,按关机键关机时,驱动应作哪些结束工作?


  • 站内导航:


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

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

    浙ICP备11055608号-3