use*_*724 2 c++ linux shared-libraries
我有一个.so库,并运行nm -gC它.
我看到这样的输出:
0011a011 W void my_fun< unsigned char>(unsigned char*, unsigned char, int)
Run Code Online (Sandbox Code Playgroud)
我可以包含的标头都不包含此功能,但我想从我的cpp文件中调用它.
我该怎么做呢?
小智 5
我可以包含的标头都不包含此功能,
从nm手册页:
w ^
w ^
符号是一个弱符号,没有被特别标记为弱对象符号.
所以这是一个微弱的象征.如果没有头文件声明它,则可能无法定义它.你可能仍然会尝试自己声明并调用它以防万一(你需要链接到库):
void my_fun(unsigned char*, unsigned char, int);
// ...
my_fun(foo, bar, baz);
Run Code Online (Sandbox Code Playgroud)
如果这是一个C++函数,那么您不能dlopen()以可移植的方式使用API.