我在Windows上,并且假设我想为我的项目使用不同的标准C ++库实现 - 比如libstdc ++或libc ++。
#include <algorithm>
而不是#include <custom/algorithm>
? I believe我可以通过简单地将标题添加到项目中来实现它,但我正在寻找更“系统化”的方式,所以我不会为每个项目重复它。注意:这主要是一个理论问题 - 我对MSVC库很好,但我真的想了解更多有关不同stdlib实现的信息。
答案 0 :(得分:4)
理论上,交换stdlib实现并非不可能。使用clang,您可以选择libc ++(clang's)和libstdc ++(GCC's)。
然而,实际上,stdlib实现通常与它们附带的编译器的内部结构相当,特别是当涉及到新增的C ++特性时,对于许多编译器而言,这并不比Visual Studio更真实。
你能用很多黑客攻击它吗?也许。这值得吗?我非常怀疑。即使你成功了,你也会牺牲一个可重复的构建环境,并依赖于一些深刻的黑暗艺术。您的项目将无法重复使用。
你的问题中没有任何迹象表明你认为你需要切换实施的原因,但似乎不太可能出现任何理由值得这样做。