Vio*_*ffe 1 c++ windows visual-c++
我正在为多个平台(Windows,Linux,Mac OS X)开发应用程序,我想确保我的代码符合ISO C++标准.在Linux和Mac上,它-pedantic-errors在Windows上使用/Zaflag 实现- 带有标志(禁用语言扩展).问题是,一些Windows标头不符合C++(并且以愚蠢的方式,没有什么重要的 - 大多数错误都是'$' : unexpected in macro definition,'__forceinline' not permitted on data declarations并且类似的废话).你认为可以修复标题吗?有人试过吗?
不,这是不可能的.关于Clang开发者邮件列表上的STL(那个人,而不是缩写词)开始讨论的事情,请看这里.
话虽这么说,如果你想编写标准的符合代码,我建议在Windows上使用MinGW-w64 GCC,它提供了自己可以编译的Win32 API头文件-std=c++11 -pedantic -Wall -Wextra.我甚至可以为你提供Clang 3.2.它只有32位,依赖于GCC 4.6的libstdc ++,但它们相处得很好.我家里的计算机上有一个Clang 3.3版本,但是libstdc ++和Clang在一些可变参数模板链接问题上不一致,所以我没有上传它.