User and Reference Guide for the Intel® C++ Compiler 14.0
If you use makefiles to build your gcc application, you need to change the value for the GCC compiler variable to use the Intel® C++ compiler. You may also want to review the options specified by CFLAGS. A simple example follows:
# Use gcc compiler CC = gcc # Compile-time flags CFLAGS = -O2 -std=c99 all: area_app area_app: area_main.o area_functions.o $(CC) area_main.o area_functions.o -o area area_main.o: area_main.c $(CC) -c $(CFLAGS) area_main.c area_functions.o: area_functions.c $(CC) -c -fno-asm $(CFLAGS) area_functions.c clean: rm -rf *o area
# Use Intel C compiler CC = icc # Compile-time flags CFLAGS = -std=c99 all: area-app area-app: area_main.o area_functions.o $(CC) area_main.o area_functions.o -o area area_main.o: area_main.c $(CC) -c $(CFLAGS) area_main.c area_functions.o: area_functions.c gcc -c -O2 -fno-asm $(CFLAGS) area_functions.c clean: rm -rf *o area
If your gcc code includes features that are not supported with the Intel® C++ compiler, such as compiler options, language extensions, macros, pragmas, and so on, you can compile those sources separately with gcc if necessary.
In the above makefile, area_functions.c is an example of a source file that includes features unique to gcc. Since the Intel C++ Compiler uses the O2 option by default and gcc uses option O0 as the default , we instruct gcc to compile with O2. We also include the -fno-asm switch from the original makefile since this switch is not supported with the Intel C++ Compiler. With the modified makefile, the output of make is:
icc -c -std=c99 area_main.c gcc -c -O2 -fno-asm -std=c99 area_functions.c icc area_main.o area_functions.o -o area