11得票3回答
配置:错误:C预处理器未通过健全性检查。

我正在Ubuntu 12.04 x86_64上编译几个库。首先,我使用GCC 4.7.2编译这些库,一切顺利。然后我尝试使用Inte Composer 2013 u2重新编译它们。为此,我进行了以下操作: export CC=/opt/intel/composer_xe_2013.2.146...

11得票3回答
如何开启ICC/ICPC警告?

我在Linux上安装了英特尔编译器composer_xe_2013_sp1.3.174。我对icc警告感到困惑。将简单的程序main.c输入给icc,如下所示:int main(int argc, char **argv) { int a = 1; unsigned int b = -...

11得票2回答
weak_ptr reset对shared_ptr有影响吗?

我不太习惯使用 weak_ptr,并且我面临着非常困惑的情况。我正在使用与 Visual Studio 2019 版本16.2.5 结合使用的Intel XE 2019 Composer更新5 (版本2019.5.281)。 我编译64位。 我使用标准的 C ++ 17 。 以下是我的试验解决...

10得票2回答
使用MSVC和ICC的_addcarry_u64和_addcarryx_u64

MSVC和ICC都支持内置函数_addcarry_u64和_addcarryx_u64。 根据Intel的内置函数指南和白皮书,它们应该分别映射到adcx和adox。然而,通过查看生成的汇编代码,可以清楚地看到它们分别映射到adc和adcx,并且没有内置函数映射到adox。 此外,通过在M...

10得票3回答
生成编译器定义的预处理器宏列表

使用gcc和gfortran,我可以通过以下方式生成编译器定义的预处理宏列表(已根据ouah的答案进行编辑)。 gcc -E -dM - < /dev/null 并且 gfortran -cpp -E -dM /dev/null 分别(至少在Linux上)。 我该如何使用I...

10得票1回答
继承一个显式构造函数(Intel C++)

在使用 using 继承基类的构造函数时,Intel C++ 编译器(版本 16.0.3.207 build 20160415)似乎会丢失 explicit 说明符。这是一个错误吗?struct B { explicit B(int) { } }; struct D : B { ...

9得票1回答
在可变模板参数中使用默认模板参数

我发现下面的最小例子在gcc、clang甚至Visual Studio上都可以工作,但是在icc上无法编译。我试图确定这是否是有效的C++,但由于涉及到几个不同的概念,我无法找到相关的标准部分来回答我的问题。 // struct with multiple template paramete...

9得票2回答
#pragma simd和#pragma ivdep指令之间有什么区别?

我目前正在尝试将程序向量化,观察到了一种奇怪的行为。 使用以下方式时,for循环会被向量化: #pragma simd (262): (col. 3) remark: SIMD LOOP WAS VECTORIZED. 但当我使用以下方式时,它就不会被向量化: #pragma v...

9得票2回答
自动展开并输出C/C++代码

我是在做一个实验,第一步是将一个循环(来自C/C++)展开十几次(例如10、50等),并输出C/C++展开后的代码。有没有工具可以自动化这样的展开过程? 换句话说,我需要的是: C/C++ source/loop --->> TOOL (Unroll by X) ----&gt...

9得票1回答
“g++ -MMD”比包含文件扫描更好吗?

在研究构建系统时,很多系统(如SCons、bjam、cmake、Tundra等)都有内置的#include扫描器。然而,gcc和icc提供了一个-MMD(或-MD)选项,它输出C++文件所依赖的头文件的名称。 -MMD依赖选项似乎是可靠的。如果你在C文件中添加一个#include,它的时间戳...