C++ GCC相当于/包括Visual Studio选项
在VisualStudio中,我可以使用链接器选项从dll导出特定符号。GCC中是否有等效选项C++ GCC相当于/包括Visual Studio选项,c++,visual-studio,gcc,options,equivalent,C++,Visual Studio,Gcc,Options,Equivalent,在VisualStudio中,我可以使用链接器选项从dll导出特定符号。GCC中是否有等效选项 我使用-fvisibility=hidden进行编译,因此默认情况下不会导出任何符号 一种方法是使用\uuuuu属性: void foo() __attribute__((visibility("default"))); void foo() { /* Implementation */ } 这应该仅覆盖此函数的-fvisibility=hidden参数。您也可以这样做: class __at
我使用-fvisibility=hidden进行编译,因此默认情况下不会导出任何符号 一种方法是使用
\uuuuu属性
:
void foo() __attribute__((visibility("default")));
void foo() {
/* Implementation */
}
这应该仅覆盖此函数的-fvisibility=hidden
参数。您也可以这样做:
class __attribute__((visibility("default"))) my_class {
public:
myClass();
~myClass();
// Other declarations...
};
这将导出整个类以及其中包含的所有声明。虽然符号可见性可能会起作用,但它并不是问题的答案。它不是链接器选项,需要修改源代码,这可能是不需要的。大致相当于导出映射,但它仅适用于带有GNU链接器的GCC。GCC命令行选项将是
-Wl,--version-script=a.map
地图看起来像
{
global: a;
local: *;
}
更多信息请访问