问题标签 [icc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1128 浏览

gcc - 什么是 GCC 的 fno-strict-aliasing 标志的等价物 ICC,英特尔编译器?

英特尔编译器似乎逐字接受 -fno-strict-aliasing 标志,但我没有看到任何地方记录的行为,并且该标志可能会被忽略。诸如 -no-ansi-alias 之类的标志看起来相关,但我想确保我指定了正确的行为。

0 投票
2 回答
1195 浏览

c - 从 icc 获取 Intel 语法 asm 输出,而不是默认的 AT&T 语法?

我遇到了一个问题。我一直在使用 gcc 编译/汇编我的 C 代码一段时间,并习惯于阅读 Intel 汇编语法。我-masm=intel在生成程序集文件时使用了该标志。

然而最近,由于公司迁移,他们获得了英特尔的icc,声称它更好。所以现在我需要使用 icc,但奇怪的是它具有 AT&T 的默认汇编语法。我试图改变它,但它没有用,所以我联系了英特尔支持,他们也不知道,每个人都给了我一个矛盾的答案。

有没有办法整合 gcc 和 icc 以便我使用 icc 的编译“优势”,同时使用 gcc 编译为 intel 的语法?

我正在使用 ubuntu 并获得了 icc 版本 12.x

0 投票
1 回答
415 浏览

c++ - 具有可变长度数组的 ICC 段错误

因此,当使用基本编译icc bob.cpp -o bob并运行时,以下代码段错误:

但是,以下两个类似的程序似乎运行良好。

我对发生的事情有点困惑。显然,可变长度数组是非标准的,这让我很惊讶,因为我一直使用支持它的 g++。但是,如果ICC不支持它,为什么要编译呢?另外,为什么示例 2“有效”?

这里什么是正确的代码,如果第一个片段不正确,为什么它会编译,然后为什么会出现段错误?

我在 2011 x86_64 Intel(R) Core(TM) i5 上使用 icc (ICC) 12.0.2 20110112。

谢谢

0 投票
3 回答
3054 浏览

c++ - gcc/g++ 与 icc

在行业软件开发业务中哪个更受欢迎?有人认为 gcc/g++ 在 linux 上更流行,而 icc 在 windows 上更流行。还有什么可以选择的吗?

0 投票
2 回答
684 浏览

c++ - ICC 编译上的 C++0x 问题

我在用 icc 编译时遇到问题。

请帮助解决上述问题。谢谢。

0 投票
2 回答
2673 浏览

c++ - 返回 NULL 值

framebufferd3d11.h 的片段

framebufferd3d11.cpp 的片段


如果我用 icc 编译,我会遇到 NULL 赋值的问题,因为 NULL 被定义为 0。我该如何解决这样的问题?

0 投票
5 回答
6426 浏览

c++ - 在编译时检测 ICC 与 GCC

如何在编译时检测我使用的是 gcc 还是 icc?

(我很困惑地发现 icc 定义了__GNUC__——甚至__GNUC_MINOR__还有__GNUC_PATCHLEVEL__!为什么?)

0 投票
3 回答
22651 浏览

linux - 在 Ubuntu 上为 mpi.h 设置 G++ 或 ICC

我从来没有在 VS08 之外做过任何主要的编程。

我正在尝试使用两个相关的 make 文件中的任何一个来编译一个名为 LAMMPS 的程序。一个调用 g++,另一个调用 icc(英特尔的编译器)。

icc 产生此错误:

icc -O -DLAMMPS_GZIP -DMPICH_SKIP_MPICXX -DFFT_FFTW -M write_restart.cpp > write_restart.d write_restart.cpp(15):灾难性错误:无法打开源文件“mpi.h”#include“mpi.h”

和 g++ 抛出这个错误

g++ -g -O -DLAMMPS_GZIP -DMPICH_SKIP_MPICXX -DFFT_FFTW -M verlet.cpp > verlet.d pointers.h:25:致命错误:mpi.h:没有此类文件或目录编译终止。

mpi.h 文件位于 /usr/lib/openmpi/include

据我了解,我需要设置读取的 $PATH 变量

bash:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/opt/intel/bin:/usr/lib /openmpi/包括:

和 $LD_LIBRARY_PATH 当前读取

/usr/lib/openmpi/lib:

那么,如何包含 mpi.h 文件?所以无论是 icc 还是 g++ 都能找到它?

0 投票
1 回答
962 浏览

python - 当我的共享库由 icc -O3 或 -O2 优化并通过 Python ctypes 使用时,会发生段错误

这种行为很奇怪,因为我无法得到段错误

  • 如果共享库是在没有优化或使用较弱优化(-O0 或 -O1)的情况下编译的
  • 如果共享库是使用 gcc 编译的,即使带有优化标志 (-O3)
  • 如果我从纯 C 程序运行代码(不是通过 ctypes)

此外,我无法在某些机器上得到段错误。

如果您在我的代码中发现错误,那就更好了,但我还有其他更一般的问题:

  1. 它可以是 icc 或 ctypes 错误吗?即使我可以在我的特定环境中重现奇怪的行为,是否可以将错误提交给问题跟踪系统?
  2. 我尝试调试代码,但由于此错误仅在优化代码时可见,所以当我使用调试器时,我得到了很多“xxx 已定义但未分配(已优化)”。有没有更好的方法来调试优化代码?

如何重现错误

假设我有库源代码奇怪的.c 和 hte python 脚本 run.py,我得到了段错误:

请注意,我可以在我的一台机器上重现此错误

  • uname -m: i868
  • 操作系统:Ubuntu 10.04.2 LTS
  • 国际刑事法院:12.0.0 20101006
  • 蟒蛇:2.6.5
  • 麻木:1.3.0

不在_

  • uname -m: i868
  • 操作系统:Ubuntu 10.10
  • 国际刑事法院:12.0.3 20110309
  • 蟒蛇:2.6.6
  • 麻木:1.3.0

或者

  • uname -m:x86_64
  • 操作系统:Scientific Linux SL 版本 5.5(硼)
  • 国际刑事法院:12.0.0 20101006
  • 蟒蛇:2.6.5
  • 麻木:1.5.0b1

代码

请在此处 ( tkf / ctypes_icc / source – Bitbucket ) 或下方找到代码集。您可以找到一个 Makefile 和一个 shell 脚本来运行该程序并使用所有优化标志和编译器(gcc 和 icc)检查退出代码。这个程序的原始版本是我研究的一个模拟程序,但是这个程序只是一个没有意义的程序。

奇怪的.c:

运行.py:

0 投票
4 回答
474 浏览

c++ - 编译器警告使 int8_t 的复合赋值提升为 int 感到困惑

我通常可以理解编译器警告背后的原因,但这似乎完全是错误的。

带有 -Wall 的英特尔编译器抱怨:

这是正确的吗?上面的代码在某种程度上是不可移植和非标准的吗?