c++ - 如何防止特定符号被编译器/链接器剥离?

标签 c++ gcc linker clang symbols

我有一个包含多个类的 C++ 库。其中一些类由可执行文件显式使用,而另一些则不是。 clang 和 gcc strip 类似乎没有在可执行文件中明确使用。

如何防止编译器/链接器剥离特定符号?是否有类似的pragma可用。

最佳答案

对于 GCC,请尝试禁用 DCE 标志:

  • -fno-dce
  • -fno-dse
  • -fno-tree-dce
  • -fno-tree-dse

关于c++ - 如何防止特定符号被编译器/链接器剥离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35597306/

相关文章:

c++ - sizeof 运算符为 C 和 C++ 返回不同的值?

c++ - 无穷大不是 constexpr

c - Flex 和 Bison 在使用结构体指针作为 union 类型时会出现问题

c - C 中未定义的行为实际上会发生什么

c++ - 了解编译器的工作原理

C++ 错误 : No instance of overloaded function

c++ - 无法打开输出文件,权限被拒绝

python - 安装不带 gcc 的 psutil

c++ - Xcode - 将二进制文件与调试和发布库链接

linux - 跟踪共享库中符号的来源