草庐IT

module-export

全部标签

linux - Linux内核模块驱动中THIS_MODULE的意义是什么?

在Linux设备驱动开发中,file_operations结构使用structmodule*owner。当我们总是用THIS_MODULE初始化这个结构时,它有什么用?这个字段什么时候可以设置为NULL? 最佳答案 此字段告诉谁是structfile_operations的所有者。这可以防止模块在运行时被卸载。当用THIS_MODULE初始化时,当前模块拥有它的所有权。 关于linux-Linux内核模块驱动中THIS_MODULE的意义是什么?,我们在StackOverflow上找到一

python - 当我执行 pip --version 时,它显示错误为 ImportError : No module named pyparsing

我也尝试安装/卸载pyparsing但它不起作用。我坚持这个,我也必须安装额外的库。这是错误信息:Traceback(mostrecentcalllast):File"/usr/bin/pip",line5,infrompkg_resourcesimportload_entry_pointFile"/home/rachana/.local/lib/python2.7/site-packages/pkg_resour‌​ces/__init__.py",line72,inimportpackaging.requirementsFile"/home/rachana/.local/lib/p

linux - GNU 链接器 : alternative to --version-script to list exported symbols at the command line?

在使用GNU工具链的Linux上,我知道如何使用版本脚本(gcc-Wl,--version-script=symbols.map)控制从共享库导出的符号,但我想列出导出的符号命令行代替。IOW,我想要相当于link/EXPORT:foo来自MS工具链。可能吗?编辑:我的问题可能不是很清楚:如果我有一个库libfoo.so,我只想导出库foo1和foo2,我可以创建一个版本脚本foo.linux,如下所示libfoo.so{global:foo1;foo2;local:*;}然后做gcc-sharedfoo.c-Wl,--version-script=foo.linux-olibfoo.

linux - insmod错误: inserting './hello.ko' : -1 Invalid module format"

我刚刚制作了我的第一个驱动模块,继LDD3之后的helloworld模块。然而不幸的是遇到了这个错误:insmod:errorinserting'./hello.ko':-1Invalidmoduleformat.我在Ubuntu11.04和我的环境中执行此操作:$uname-r2.6.38-8-generic我得到这样的内核源代码:sudoapt-cachesearchlinux-sourcelinux-source-LinuxkernelsourcewithUbuntupatcheslinux-source-2.6.38-Linuxkernelsourceforversion2.6

python - SWIG + setup.py : ImportError: dynamic module does not define init function (init_foo)

我正在尝试用swig在test.cpp中包装函数foo。我有一个headerfoo.h,其中包含函数foo的声明。test.cpp依赖于位于/usr/lib64ex.h和共享对象文件libex.so/我关注了blogpostfromhere.我可以使用pythonsetup.pybuild_ext--inplace构建模块。但是,当我尝试导入它时,出现以下错误,我不确定我遗漏了什么,因为大多数其他出现此错误的问题都没有使用setup.py文件。下面是我目前拥有的示例。导入_foo时的错误:>>>import_fooImportError:dynamicmoduledoesnotdefi

linux - Linux 内核模块中的 module_init 和 init_module 有什么区别?

我一直在尝试移植一些linux驱动程序,并意识到linux内核版本2.4和2.6之间存在很大差异。在2.4版本内核中,模块编程如下-#defineMODULE#include#includeintinit_module(void){printk(KERN_INFO"Hi\n");return0;}voidcleanup_module(void){printk(KERN_INFO"Bye\n");}但是,对于2.6版本的内核,必须为模块完成以下操作-#include#include#includestaticinthi_init(void){printk(KERN_ALERT"Hi\n"

java - local_policy.jar 和 US_export_policy.jar 与 Unlimited Strength Vs Default 不同。

在java平台文档中http://www.oracle.com/technetwork/java/javase/jrereadme-182762.html.关于关于的评论/lib/security/local_policy.jar/lib/security/US_export_policy.jar无限强度Java加密扩展由于某些国家/地区的进口控制限制,JavaSE开发工具包和JavaSE运行时环境随附的Java密码术扩展(JCE)策略文件允许使用强大但有限的密码术。JDK网站上提供了这些文件的无限强度版本,表明对加密强度没有限制,居住在符合条件的国家/地区的用户可以使用这些文件。居住

python - Letsencrypt 导入错误 : No module named interface on amazon linux while renewing

今天,当我尝试使用此命令更新我的证书时,我遇到了错误/opt/letsencrypt/letsencrypt-autorenew--config/etc/letsencrypt/config.ini--agree-tos&&apachectlgraceful也试过这个命令/opt/letsencrypt/letsencrypt-autorenew错误:Traceback(mostrecentcalllast):File"/root/.local/share/letsencrypt/bin/letsencrypt",line7,infromcertbot.mainimportmainFi

linux - Linux 内核代码中的 EXPORT_SYMBOL_GPL 是什么?

Linux内核代码中的EXPORT_SYMBOL_GPL是什么?下面是一段代码,里面包含EXPORT_SYMBOL_GPL62structresource*platform_get_resource(structplatform_device*dev,63unsignedinttype,unsignedintnum)64{65inti;6667for(i=0;inum_resources;i++){68structresource*r=&dev->resource[i];6970if(type==resource_type(r)&&num--==0)71returnr;72}73ret

linux - 很难理解 MODULE_DEVICE_TABLE(usb, id_table) 的用法

我很难理解MODULE_DEVICE_TABLE(usb,id_table)的确切用法据我所知,这将生成稍后将由modprobe使用的映射文件,每当插入新设备时,它会将其与这些映射文件进行匹配,并在匹配时加载模块。但我的误解是“无论如何都不加载模块吗?”我的意思是我在执行insmodmodule-name时已经加载了它。还是我遗漏了什么? 最佳答案 它通常用于支持热插拔,通过加载/插入设备的驱动程序(如果尚未加载)。这里有一个类似的问题:Detectthepresenceofadevicewhenit'shotpluggedinLi