3

我想将一个相当大且仍在增长的 C++ 应用程序从 PC 移植到 Mac,并继续支持两个平台上的并行开发。在 PC 上,我们使用 MSVC2010,并部署了一些 C++11 功能。在 Mac 上,我们使用 XCode 4.0.2。为了改进平台无关性并支持我们正在使用的内联汇编,我们在两者上都部署了英特尔编译器。但是,编译器不附带库,因此我们依赖供应商提供的库。在 Mac 上,这意味着不支持 C++11 库,因为我们非常热衷于使用 std::forward 等功能。我无法在 Mac 上使用英特尔编译器构建 libc++,否则我的问题将得到解决。除了滚动我们自己的库之外,还有其他方法吗?

4

2 回答 2

1

如果你真的不能在 Mac 上切换到不同的编译器,我建议联系英特尔的用户支持,让他们知道 C++11 支持对你很重要,并询问他们实施它的积极程度,因为新的语言是 ISO 标准。

他们可能也知道一个工作库。

于 2011-09-12T06:15:06.430 回答
1

Clang 和 Intel 15 在 Mac 和 Linux 上都支持 C++11。官方网站描述了ClangIntel编译器的 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;
}
于 2015-03-22T03:43:59.033 回答