【问题标题】:Intel standard library (C++)英特尔标准库 (C++)
【发布时间】:2012-02-27 10:41:52
【问题描述】:

英特尔编译器是否有自己的标准库,例如std::cout 等的实现。我想为英特尔调整一切。

【问题讨论】:

  • 请不要说“例如” :-)
  • 标准库是standard,所有编译器都有标准库的相同接口
  • 这个问题很好。投反对票的人会明白它在未来的价值。
  • /me 投票 -1 以了解它在未来的价值 :-) (j/k)
  • @Shibli 你刚刚给了我一个令人信服的理由来否决:我想要了解这个问题在未来的价值。而你的承诺听起来像是到达那里的唯一途径。

标签: c++ stl std intel


【解决方案1】:

C++ 标准库由 C++ 标准定义。任何符合标准的编译器(包括 ICC)都提供了这个库的实现,所以是的,ICC 有自己的。

但是,您不需要“调整所有内容”,因为编码界面通常到处都是相同的。只需编写标准 C++ 和 ICC 即可编译。

【讨论】:

  • clang 在某些系统上不附带库,您必须单独提供实现。
  • @DeadMG:一旦你单独提供了一个实现,它就符合了。同样,在您对二进制文件 cc1plus 的文件传输完成之前,GCC 不符合要求...
  • 拒绝了这个,因为 ABI 兼容性很重要很多
【解决方案2】:

在版本 8 之前,ICC 随 Dinkumware 一起提供,即标准库实现也随 Microsoft Visual Studio 一起提供:

适用于 Windows 的英特尔 C++ 编译器使用 Microsoft Visual C++ 头文件、库和链接器。微软控制着定义命名空间的头文件。

但是,从 8.1 版开始

-cxxlib-gcc 现在是 C++ 的默认设置
在链接 C++ 应用程序时,现在默认使用 STL 和 gcc* C++ 库,而不是以前版本中使用的 Dinkumware* 库。如果您希望使用 Dinkumware 库,请指定新开关 -cxxlib-icc。在英特尔 C++ 编译器的未来版本中,将删除对使用 Dinkumware 库的支持。

“STL 和 gcc C++ 库”只能假设它们指的是 libstdc++

  • 那么,ICC 是否附带标准库实现? 是的。
  • 它是否附带英特尔实施的库? 没有。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-21
    相关资源
    最近更新 更多