Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ GCC相当于/包括Visual Studio选项_C++_Visual Studio_Gcc_Options_Equivalent - Fatal编程技术网

C++ GCC相当于/包括Visual Studio选项

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

在VisualStudio中,我可以使用链接器选项从dll导出特定符号。GCC中是否有等效选项


我使用-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: *;
 }
更多信息请访问