【发布时间】:2019-06-20 18:52:01
【问题描述】:
我从事的产品是由我的 VIP 项目引用的几个 DKM 项目构成的。
不过,有一个“未知”函数实现,稍后将在初始化阶段加载。
为了加载它:
1.我声明了一个函数指针(funcPtr)。
2. 在我打电话给LoadModule() aka 之后。 ld()
3.调用symFind()获取新加载符号的地址
4.分配funcPtr的地址。
我对这个解决方案有疑问,因为我的发布版本中不能有符号表。
它被视为敏感的组织数据,但没有它我无法使用symFind()
以下任何问题都可以缓解或解决我的问题,因此我将不胜感激:)
调用
loadModule(myModule.o)时,myModule中是否有函数在加载后立即被调用?我可以编译一个缺少 extern 符号的 VIP 项目,就像在 linux 中一样。 稍后当我将 ld() 用于我的模块时将重新定位?
我可以限制符号表来分配符号表,除了我需要的几个符号,如何?
【问题讨论】:
标签: linker symbols ld debug-symbols vxworks