• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

关于linux内核模块文件的函数调用问题

宫梓萱 2020-11-12 浏览量:576

我编写了自己的ko模块文件。例如:我自己以前写了sum.c  sum.h两个文件。sum.c文件里有一个函数 int add(int a int b)。并且函数原型在sum.h里声明了。

我现在编写的ko文件里需要调用我sum.c里的add函数。那么怎么去调用这个add函数了。我目前的做法是在ko模块文件里加上sum.h的头文件。再直接在ko文件里

调用add函数。模块可以被编译,但是不能被加载。一加载就提示模块不能被加载。


所以内核ko文件到底怎么操作才能调用用户自己的文件里的函数了

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 要么将sum.c/sum.h文件也包含进来,重新编译生成一个新的模块.ko要么将sum.c/sum.h也编译生成一个新的模块,然后安装在内核中,这时在.c文件中需要添加一些语句导出符号表,然后再另一模块中调用。
    • 发布于 2020-11-13
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • 你需要写相应的make文件,并把sum.c 的编译添加进去生成对象文件来链接,才能保证ko文件生成的正确。
    • 发布于2020-11-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 这两个文件是不能单独进行编译的,一般都是用两个文件一起进行编译才可以同时输出使用的
    • 发布于2020-11-29
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

关于linux内核模块文件的函数调用问题