【发布时间】:2021-11-03 11:42:58
【问题描述】:
我正在学习使用__attribute__ ((visibility("default"))) 进行符号导出
// a.cpp
class A
{
public:
__attribute__ ((visibility("default"))) void func() {;};
__attribute__ ((visibility("default"))) int cnt;
};
但是我遇到了以下问题
# g++ -c a.cpp
a.cpp:5:50: warning: ‘visibility’ attribute ignored [-Wattributes]
__attribute__ ((visibility("default"))) int cnt;
^~~
成员函数和成员变量有什么区别? 为什么一个可以导出符号而另一个不能?
【问题讨论】:
-
您希望(非静态)
A::cnt使用哪个符号? -
不相关的问题:你是在root下编译吗?通常非常不鼓励这样做。
-
我正在学习使用 ... 进行符号导出。 这不适合 C++。您将为您的项目创建一些非常难以诊断的错误。除非您的代码仅公开 C API,但给出的示例并非如此。
标签: c++ shared-libraries symbols symlink