问题标签 [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.
gcc - 什么是 GCC 的 fno-strict-aliasing 标志的等价物 ICC,英特尔编译器?
英特尔编译器似乎逐字接受 -fno-strict-aliasing 标志,但我没有看到任何地方记录的行为,并且该标志可能会被忽略。诸如 -no-ansi-alias 之类的标志看起来相关,但我想确保我指定了正确的行为。
c - 从 icc 获取 Intel 语法 asm 输出,而不是默认的 AT&T 语法?
我遇到了一个问题。我一直在使用 gcc 编译/汇编我的 C 代码一段时间,并习惯于阅读 Intel 汇编语法。我-masm=intel
在生成程序集文件时使用了该标志。
然而最近,由于公司迁移,他们获得了英特尔的icc,声称它更好。所以现在我需要使用 icc,但奇怪的是它具有 AT&T 的默认汇编语法。我试图改变它,但它没有用,所以我联系了英特尔支持,他们也不知道,每个人都给了我一个矛盾的答案。
有没有办法整合 gcc 和 icc 以便我使用 icc 的编译“优势”,同时使用 gcc 编译为 intel 的语法?
我正在使用 ubuntu 并获得了 icc 版本 12.x
c++ - 具有可变长度数组的 ICC 段错误
因此,当使用基本编译icc bob.cpp -o bob
并运行时,以下代码段错误:
但是,以下两个类似的程序似乎运行良好。
和
我对发生的事情有点困惑。显然,可变长度数组是非标准的,这让我很惊讶,因为我一直使用支持它的 g++。但是,如果ICC不支持它,为什么要编译呢?另外,为什么示例 2“有效”?
这里什么是正确的代码,如果第一个片段不正确,为什么它会编译,然后为什么会出现段错误?
我在 2011 x86_64 Intel(R) Core(TM) i5 上使用 icc (ICC) 12.0.2 20110112。
谢谢
c++ - gcc/g++ 与 icc
在行业软件开发业务中哪个更受欢迎?有人认为 gcc/g++ 在 linux 上更流行,而 icc 在 windows 上更流行。还有什么可以选择的吗?
c++ - ICC 编译上的 C++0x 问题
我在用 icc 编译时遇到问题。
请帮助解决上述问题。谢谢。
c++ - 返回 NULL 值
framebufferd3d11.h 的片段
framebufferd3d11.cpp 的片段
如果我用 icc 编译,我会遇到 NULL 赋值的问题,因为 NULL 被定义为 0。我该如何解决这样的问题?
c++ - 在编译时检测 ICC 与 GCC
如何在编译时检测我使用的是 gcc 还是 icc?
(我很困惑地发现 icc 定义了__GNUC__
——甚至__GNUC_MINOR__
还有__GNUC_PATCHLEVEL__
!为什么?)
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++ 都能找到它?
python - 当我的共享库由 icc -O3 或 -O2 优化并通过 Python ctypes 使用时,会发生段错误
这种行为很奇怪,因为我无法得到段错误
- 如果共享库是在没有优化或使用较弱优化(-O0 或 -O1)的情况下编译的
- 如果共享库是使用 gcc 编译的,即使带有优化标志 (-O3)
- 如果我从纯 C 程序运行代码(不是通过 ctypes)
此外,我无法在某些机器上得到段错误。
如果您在我的代码中发现错误,那就更好了,但我还有其他更一般的问题:
- 它可以是 icc 或 ctypes 错误吗?即使我可以在我的特定环境中重现奇怪的行为,是否可以将错误提交给问题跟踪系统?
- 我尝试调试代码,但由于此错误仅在优化代码时可见,所以当我使用调试器时,我得到了很多“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:
c++ - 编译器警告使 int8_t 的复合赋值提升为 int 感到困惑
我通常可以理解编译器警告背后的原因,但这似乎完全是错误的。
带有 -Wall 的英特尔编译器抱怨:
这是正确的吗?上面的代码在某种程度上是不可移植和非标准的吗?