C++
文章平均质量分 50
万能菜道人
博客的书写一点都不好看,有的挺乱的,我在试着优化。
展开
-
modpost使用的心得记录
e 指定依赖的其他符号。这个就是很可能遇到的,一个ko需要使用别的ko的API,这里不仅是要提供者使用EXPORT_SYMBOL来导出符号,还需要在这里将对应的提供者ko编译完成伴生的Module.symvers给指定出来。这里指定了没有找到也不会有报错的。-I :这个参数是读取上一次自己生成的Module.symvers文件,如果依赖的属性变化,似乎没有及时更新啊,这个make clean会自动删除,推荐编译前删除。这个是在编译内核态ko才会用到的一个命令。内容其实上面的参考都有提到。原创 2023-04-13 14:54:43 · 670 阅读 · 0 评论 -
EXPORT_SYMBOL和其用户态类似的使用方式学习
具体来说,当一个模块使用EXPORT_SYMBOL导出符号时,其他模块就可以使用该符号。例如,一个模块可以导出一个函数,供其他模块调用,或者导出一个变量,供其他模块读取或修改。需要注意的是,EXPORT_SYMBOL导出的符号只能被其他模块使用,而不能被用户空间的程序使用。如果需要在用户空间使用符号,可以使用EXPORT_SYMBOL_GPL宏定义,它会限制符号的使用权限,只允许GPL协议的模块使用。在Linux内核中,模块是可以在运行时插入和移除的,模块之间需要相互通信,因此需要在模块之间共享符号。原创 2023-03-15 10:33:52 · 1735 阅读 · 0 评论 -
C++ vector内存分配机制
这里使用的过程中学习了vector每次push_back就会修改其元素的地址?就具体看了一下其中的机制,尤其是多线程需要注意。取元素地址是很危险的操作。原创 2022-10-13 14:57:17 · 440 阅读 · 0 评论