export_symbol问题

emahj 2015-05-10 12:13:25
开发中遇到下面问题:
用的芯片是博通bcm96380,使用Linux内核系统。在模块B中调用模块A中的函数,其中两个模块是应用层的函数,不是内核函数。场景如下:

mod A:
BOOL func1(char* ptr)
{
...........
}

EXPORT_SYMBOL(func1);

modB:

extern BOOL func1(char* ptr);

BOOL func2(char* ptr)
{
func1(ptr);
return 1;
}

但在编译到 .so时候提示 func1 undifined。

请高手指点一下,使用export_symbol的格式对吗?是否需要修改makefile?
...全文
141 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zuxi 2015-05-10
  • 打赏
  • 举报
回复
用户态程序没有EXPORT_SYMBOL,内核才有。如果modB和modA是两个不同的so的话,modB编译时需要加-l参数链接modA,如果modB和modA只是两个不同的C文件的话,只要在编译命令中把modA放到modB前面就行。

18,829

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧