我正在开发一个 C++ 项目,我想确保该项目仅使用项目定义的类而不是标准库。
例如我希望项目仅使用 myNS::map 而不是 std::map (myNS::map 可能只是 std::map 的 typedef,但这是项目不可见的内部细节)
有什么方法可以确保当项目中的任何人尝试使用 std::map (或任何其他标准库功能),甚至包含标准库头时,都会出现编译错误?
如果你真的不想使用 C++ stdlib,你可以告诉你的链接器不要链接它。
您执行此操作的方式取决于您的编译器,因此请务必检查相关文档,但对于例如GCC 您可以使用
-nostdlib++
链接(来自 https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html)。