第12回 プリプロセッサ 機械語コード生成前のテキスト置換 プリプロセッサ (preprocessor) ソースコードの一部の テキストの置換 プリプロセッサへの指令 プリプロセッサ ソースコード #include <stdio.h> #define PI 3.14 stdio.h の内容に置換 int main(void) { printf(”PI=%f¥n”, PI); return 0; } 機械語 コード コード生成 (printf などが定義されている) int main(void) { printf(”PI=%f¥n”, 3.14); return 0; } PIが置換された 文字列内のPI は置換しない #include指令(1/2) #include <ヘッダファイル> 指定されたヘッダファイルをソースコードに取り込む (例) #include <stdio.h> ヘッダファイル: 定数の定義や関数のプロトタイプ宣言などが書かれたファイル. 標準ヘッダディレクトリ /usr/include の中にある. printf 関数や scanf 関数は,stdio.h を インクルードしないと使用できない. cos関数やsin関数は, math.h を インクルードしないと使用できない. #include指令(2/2) #include ”ヘッダファイル” ユーザの作成したヘッダファイルをソースコードに取り込む (例) #include ”mylib.h” ヘッダファイルは,ソースコードと同じユーザディレクトリにある #define指令 #define 名前 記号列 ソースコード中の名前を記号列で置き換える #define PI 3.14 #define EPS 0.000001 行末にはセミコロン(;)は付けない 使用例: math.h のインクルード #include <stdio.h> #include <math.h> M_PI は math.h int main(void) の中で宣言されている { 円周率 double x,y; x=cos(M_PI); y=sin(M_PI); printf(“%f,%f¥n”,x,y); return 0; } 使用例: 配列のサイズの定義 #include <stdio.h> #define SIZE 10 int main(void) { int a[SIZE]; int i; for(i=0; i<SIZE; i++){ scanf(”%d”, &a[i]); } return 0; } SIZE の値を 簡単に変更可能
© Copyright 2024 ExpyDoc