libstdc++ 的独立模式是什么?

use*_*710 5 gcc libstdc++

--disable-hosted-libstdcxx
                          only build freestanding C++ runtime support
Run Code Online (Sandbox Code Playgroud)

<gcc>/libstdc++-v3/configure --help.

这种独立模式是什么,有什么限制和好处?

对于我所知的很少,它看起来相当于 libstdc++ 的一些静态链接,但是如果您可以构建您的 *.a 库,那么这种“模式”的意义何在?这听起来不是一个很好的解释。

oak*_*kad 6

“独立”是 C++ 程序的最小配置,与“托管”(使用高级平台操作系统功能的完整标准库支持)相反。理论上,“独立式”C++ 程序可以在裸机上运行。

在“独立”模式下,只有以下标题可以安全使用:

  • 达格
  • 定义
  • cstdlib
  • 例外
  • 限制
  • 新的
  • 例外
  • 类型信息

可选:

  • cxxabi.h.

和 C++11 的:

  • 初始化列表
  • 类型特征

应用程序必须链接到“libsupc++.a”库以获得有限的运行时功能支持。

http://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dynamic_or_shared.html

这应该符合 c++ 标准的第 17.6.1.3 节(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf