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

时间:2014-04-24 01:56:10

标签: gcc libstdc++

--disable-hosted-libstdcxx
                          only build freestanding C++ runtime support

来自<gcc>/libstdc++-v3/configure --help

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

对于我所知道的非常少的东西看起来它等同于libstdc ++的一些静态链接但是如果你可以构建你的* .a库那么这个“模式”的重点是什么?这听起来不是一个好的解释。

2 个答案:

答案 0 :(得分:4)

“freestanding”是c ++程序的最小配置,而不是“托管”(使用高级平台OS功能的完整标准库支持)。从理论上讲,“独立式”c ++程序可以在裸机上运行。

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

  • cstdarg
  • cstddef
  • cstdlib
  • 例外
  • 限制
  • 例外
  • typeinfo

可选:

  • cxxabi.h。

和C ++ 11:

  • initializer_list
  • type_traits

应用程序必须链接到“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

答案 1 :(得分:0)

如果您正在制作操作系统,或者您使用的操作系统可能不支持标准库,则使用“独立”。