インテル® C++ コンパイラー 15.0 ユーザー・リファレンス・ガイド

makefile の変更

makefile を使用して gcc* アプリケーションをビルドする場合、インテル® C++ コンパイラーを使用するように、gcc* コンパイラー変数の値を変更する必要があります。 また、CFLAGS で指定されているオプションも確認してください。 簡単な例を次に示します。

gcc* makefile の例

# 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

インテル® C/C++ コンパイラー用に変更した makefile の例

# 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
    $(CC) -c -fno-asm $(CFLAGS) area_functions.c 

clean: rm -rf *o area

gcc* コードに、コンパイラー・オプション、言語拡張、マクロ、プラグマなどインテル® C++ コンパイラーでサポートされていない機能が含まれている場合は、必要に応じて、これらのソースを個別に gcc* でコンパイルすることができます。

上記の makefile では、area_functions.c ソースファイルに gcc* 固有の機能が含まれています。 インテル® C++ コンパイラーでは、O2 コンパイラー・オプションがデフォルトで使用されますが、gcc* のデフォルトは O0 のため、gcc* に O2 オプションでコンパイルするように指示します。 また、インテル® C++ コンパイラーでは、gcc makefile にある -fno-asm オプションはサポートされていないため、このオプションも gcc のコンパイルに含めます。

変更した makefile による make の出力

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


このヘルプトピックについてのフィードバックを送信