如何通过预处理器可靠地检测msvc标准库?
不是msvc编译器检查_MSC_VER而是另一个使用该库的编译器?
我正在寻找mingw中的__MINGW32__
等特定预处理器宏,mingw-w64中的__MINGW64_VERSION_MAJOR
这只是学术问题。
答案 0 :(得分:1)
首先,不要使用其他编译器编译msvc库,它们依赖于msvc编译器行为并定义。
其次,您可以使用每个msvc标准库头中的任何内容进行测试。即使存在实现定义,也可能由另一个标准库实现定义。
那说#include <iostream>
几乎与普遍接近。你可以通过这个文件查看一个足够独特的定义,你可以关闭它。例如_IOSTREAM_
。