- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我知道从内核读取或写入 (i/o) 是一件坏事,但在某些情况下我必须这样做,并且在阅读许多网站时我从 things you should never do in kernel 获得了代码所以想尝试一下。在制作模块时。在编译时它给了我
WARNING: "sys_write" [/path/to/file/file.ko] undefined! WARNING:"sys_open" [/path/to/file/file.ko] undefined!
但是我在插入模块的时候想到了插入模块
insmod: ERROR: could not insert module file.ko: Unknown symbol in module
为了得到答案,我浏览了一些网站(c-unkown symbol class create),但我有
MODULE_LICENSE("GPL");
在我的模块代码中意味着在搜索时我得到了在制作模块时提供未知符号。这是从Documenats/kbuild/modules.txt.
然后我做了
make KBUILD_EXTRA_SYMBOLS='/home/lunako/Documents/ker_write/Module.symvers'
还是没有结果。我现在该怎么办?谢谢
最佳答案
我不鼓励你继续你正在做的事情,但如果你坚持,你需要导出 sys_open
函数,以便它可以被模块使用。搜索 EXPORT_SYMBOL
宏
顺便说一句,您需要重新编译内核以使该符号可用于内核模块。
关于c - 从 linux 内核模块读取或写入时获取未知符号 ***_******(err 0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29722475/
我是一名优秀的程序员,十分优秀!