对于那些为多个平台开发软件的人,您如何处理编译器可能比其他编译器做得更好的潜力。
假设您为 OS X、Windows、Linux 开发,并且正在使用 Clang/LLVM、VS 和 GCC。
因此,如果有人在 OS X 上编译您的应用程序并且他们正在使用 GCC,而另一个人在 OS X 上使用英特尔编译器进行编译,那么您可以优化英特尔编译器的代码部分(如果该人拥有它们)。
你会检查一个预处理器指令吗?
#ifdef __GCC_
// do it this way
#endif
#ifdef __INTEL__
// do it this way
#endif
#ifdef __GCC_WITH C++_V11_Support__
// do it this way
#endif
#idfef __WINDOWS_VISUAL_STUDIO
// do it this way
#endif
或者,还有更好的方法?
如何找到编译器为检查编译器版本等提供的指令列表