我想将一个相当大且仍在增长的C ++应用程序从PC移植到Mac,并继续在两个平台上并行支持开发。在PC上我们使用的是MSVC2010,并部署了一些C ++ 11功能。在Mac上我们使用的是XCode 4.0.2。为了改善平台不可知性并支持我们正在使用的内联汇编,我们在两者上部署了英特尔编译器。但是,编译器没有附带库,因此我们依赖于供应商提供的库。在Mac上,这意味着没有C ++ 11库支持,我们非常渴望使用的功能,如std :: forward等。我无法在Mac上使用英特尔编译器构建libc ++,否则我的问题就会得到解决。除了滚动我们自己的库之外,还有其他方法吗?
答案 0 :(得分:1)
如果你真的无法在Mac上切换到不同的编译器,我建议联系英特尔的用户支持,让他们知道C ++ 11支持对你很重要,并告诉他们他们实现它的积极程度,现在新语言是ISO标准。
他们可能也知道一个工作库。
答案 1 :(得分:1)
Clang和Intel 15都支持Mac和Linux上的C ++ 11。官方网站描述了Clang和Intel编译器的C ++ 11功能的状态。
在Mac上,英特尔编译器使用系统C ++库,该库可能与包含的Clang / LLVM工具链相关联。
$ otool -L threads
threads:
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
threads
程序可以是任何调用std::thread
来电的程序,例如
#include <thread>
int main()
{
std::thread::id id;
}