我正在使用dlopen合并动态加载的库及其主机的符号,并且在主机中我有一个类:
class Foo {
public:
Foo() {/* ... */}
void bar() {/* ... */}
};
int main() {
// Foo foo;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用进行编译,g++ -Wl,--export-dynamic -o test test.cpp并使用来检查符号nm -g test。我希望的符号_ZN3FooC1Ev,并_ZN3FooC2Ev在执行中存在,因为动态库需要他们,但他们不会出现,除非我被取消注释上面的行中使用它们。我认为它已经过优化,因为GCC认为不需要它。
如何强制将Foo的构造函数和方法包含在宿主二进制文件中?
| 归档时间: |
|
| 查看次数: |
1179 次 |
| 最近记录: |