是英特尔C++;编译器(19.0)现在只使用Clang前端(即已放弃EDG)? 16,英特尔C++编译器提供了两个编译器(一个基于EDG,另一个基于CLAN)。

是英特尔C++;编译器(19.0)现在只使用Clang前端(即已放弃EDG)? 16,英特尔C++编译器提供了两个编译器(一个基于EDG,另一个基于CLAN)。,c++,intel,icc,edg,C++,Intel,Icc,Edg,从: 使用命令行 要从命令行调用编译器,请使用类似于的命令 以下是: 对于C源文件:icc我的源文件.C或icl我的源文件.C < C++ >源文件: ICPC MyOxSoCy.Field.CPP < /C> >或 ICL++ 我的源文件.cpp 编译成功后,编译器将创建一个可执行文件 当前目录中的文件 icl/icl++是一款基于叮当声的前端。您可以在此编译器中使用叮当声选项icc/icpc是基于EDG的前端。您不能将叮当声选项与icc/icpc一起使用 但我现在看不到类似的描述。如果I

从:

使用命令行

要从命令行调用编译器,请使用类似于的命令 以下是:

  • 对于C源文件:
    icc我的源文件.C
    icl我的源文件.C

  • < C++ >源文件:<代码> ICPC MyOxSoCy.Field.CPP < /C> >或<代码> ICL++ 我的源文件.cpp

编译成功后,编译器将创建一个可执行文件 当前目录中的文件

icl/icl++
是一款基于叮当声的前端。您可以在此编译器中使用叮当声选项
icc/icpc
是基于EDG的前端。您不能将叮当声选项与
icc/icpc
一起使用


但我现在看不到类似的描述。

如果Intel在19.0中使用
icl/icl++
表示基于Clang的前端,并使用
icc/icpc
表示基于EDG的前端,那么这两种方法都可用,但平台不同

icc/icpc
在Linux和macOS中可用,
icl
在Windows中可用

从19.0版开始:

Linux*

使用
icc/icpc
调用编译器编译
C/C++
源文件

macOS*

使用
icc/icpc
调用编译器编译
C/C++
源文件

Windows*

您可以使用命令行在命令行上调用英特尔®C++编译器
icl
命令


在Linux的当前版本(即英特尔oneAPI Base Toolkit for Linux 2021.1.8.1970)中,我可以找到
clang
,但既没有
icc
也没有
icpc
。因此,为了以防万一,我用zsh搜索了
~/intel/oneapi/**/ic*(*)
(即递归地从
ic
开始的可执行文件),找到了
icx
icpx
。<代码> ICX的输出-帮助< /COD>说“英特尔(R)C++编译器帮助”,仍然提到可执行文件<代码> ICC < /COD>和<代码> ICPC < /C> >,因此可执行文件显然已经被重命名,但是英特尔忘记更新文档。
你可以看到上面提到的ICC和ICX:

你现在在哪里看到“不相似”的描述?我看到了最新的19.0文档。找不到icl/icl++@Zeson:你是说你找不到icc/icpc?@P.W我找不到icl和icl++。所以我不确定icc现在是基于clang的前端还是基于EDG的。我不认为icl是基于clang的标志,它更像是msvc,cl的名称约定。所以仍然不确定它是基于clang的还是基于EDGICC的,ICPC没有提供oneAPI基础工具包。它与HPC附加组件一起提供。您可以在.intel64/中找到它们,相对于icx/icpx二进制位置。使用“intel64”参数来设置路径的源setvars.sh。