在Linux上编译以下代码

#include <stdio.h>

void main() {
  printf("Hello World\n");
  return;
}

使用icc版本15.0.0
icc -no-cxxlib -no-gcc-include-dir test.c

生成链接到glibc的动态可执行文件:
ldd ./a.out
    linux-vdso.so.1 =>  (0x00007ffc601b6000)
    libm.so.6 => /lib64/libm.so.6 (0x00000038f0c00000)
    libc.so.6 => /lib64/libc.so.6 (0x00000038efc00000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00000038f0400000)
    /lib64/ld-linux-x86-64.so.2 (0x00000038ef800000)

使用ifort版本15.0.0和相应代码的Fortran也是如此
program test
  print *,'Hello world'
end program

编译时使用
ifort -no-cxxlib -no-gcc-include-dir test.F90

同样,生成的库链接到glibc:
ldd ./a.out
    linux-vdso.so.1 =>  (0x00007fff483da000)
    libm.so.6 => /lib64/libm.so.6 (0x00000038f0c00000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00000038f0000000)
    libc.so.6 => /lib64/libc.so.6 (0x00000038efc00000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00000038f2c00000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00000038f0400000)
    /lib64/ld-linux-x86-64.so.2 (0x00000038ef800000)

英特尔编译器是否在Linux上提供了自己的C库?如果是的话,我怎样才能和它联系起来呢?
我知道对于Windows版本,有(was?)编译器/运行时库附带的另一个C库。但是,我在Linux上找不到英特尔提供的那种库。

最佳答案

英特尔不提供任何glibc或libstdc++。几年前,安腾刚起步时,就有了纯粹的软件,而英特尔则用mps为MIC提供库。对于Windows,需要使用Microsoft SDK。
IIRCICC15.0通常在路径上运行g++4.7或4.9。

10-06 12:02