我有hostapp.cpp
在运行时加载object.so
共享对象,共享对象仅使用主机应用程序中所需的.h文件进行编译,但在运行时需要访问这些功能(出现在主机应用程序中)。
使用-rdynamic
编译主机应用程序显然可以解决此问题,但它不必要地将对象公开给主机应用程序的完整符号表,即使它只需要解决其中的一些问题。
如何准确指定共享对象将知道哪些主机应用符号?
编辑:我使用GNU工具链在GNU / Linux上构建和运行。
答案 0 :(得分:1)
您的问题未明确:您从未说过要构建的平台,使用的链接器等等。
假设您为Linux构建,您可以使用以下方法之一指定要从主可执行文件导出的符号: