Compiling the following code on Linux
#include <stdio.h>
void main() {
printf("Hello World\n");
return;
}
using icc
version 15.0.0
icc -no-cxxlib -no-gcc-include-dir test.c
produces a dynamic executable that is linked against 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)
The same is true for Fortran using ifort
version 15.0.0 and the corresponding code
program test
print *,'Hello world'
end program
compiled with
ifort -no-cxxlib -no-gcc-include-dir test.F90
Again, the resulting library is linked against 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)
tl;dr; Do the Intel compilers provide their own C library on Linux? If yes, how can I link against it?
I know that for the Windows version, there is (was?) an alternative C library shipped with the compiler/runtime libraries. However, I couldn't find any library of that kind shipped by Intel on Linux.
答案 0 :(得分:0)
英特尔不提供任何glibc或libstdc ++。在几年前的itanium开始时,有dinkumware,而intel提供MIC与MPSS的库。对于Windows,需要Microsoft SDK。 IIRC Icc 15.0通常在路径上运行g ++ 4.7或4.9。