禁用标准 C++ 库的包含

问题描述 投票:0回答:1

我正在开发一个 C++ 项目,我想确保该项目仅使用项目定义的类而不是标准库。

例如我希望项目仅使用 myNS::map 而不是 std::map (myNS::map 可能只是 std::map 的 typedef,但这是项目不可见的内部细节)

有什么方法可以确保当项目中的任何人尝试使用 std::map (或任何其他标准库功能),甚至包含标准库头时,都会出现编译错误?

c++ architecture system c++-standard-library
1个回答
0
投票

如果你真的不想使用 C++ stdlib,你可以告诉你的链接器不要链接它。

您执行此操作的方式取决于您的编译器,因此请务必检查相关文档,但对于例如GCC 您可以使用

-nostdlib++
链接(来自 https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html)。

© www.soinside.com 2019 - 2024. All rights reserved.