[KOCW韓国産業技術大学朴正民教授]Cプログラミング19強
Part 19プリプロセッサによるファイルのコンパイル
19.1プロセッサ(プリプロセッサ)
プリプロセッサとプリプロセッサ
プリプロセッサインジケータ
ex)
#include <stdio.h>
19.2マクロ
#defineで始まる前処理文をマクロと呼び、マクロはマクロ定数とマクロ関数に大別されます.
マクロていすう
#define PI 3.14
전처리기 지시자/매크로 상수 이름/매크로 상수에 치환되는 값을 지정
マクロの無効化
#undef PI
전처리기 지시자/해제할 매크로 이름
マクロ関数
#define MUL(a, b) a*b
전처리기 지시자/매크로 함수 이름/함수의 기능
パラメータを設定するためのマクロ#演算子と##演算子
定義済みマクロ
ex)
#include <stdio.h>
int main(void)
{
printf("File name: %s \n", __FILE__);
printf("Row number: %d \n", __LINE__);
printf("Compilation Date: %s \n", __DATE__);
printf("Compile time: %s \n", __TIME__);
return 0;
}
/*
File name: 19-10.c
Row number: 5
Compilation Date: Sep 1 2021
Compile time: 18:37:57
*/
19.3条件コンパイル
C言語は異なるオペレーティングシステムで使用されるため、各オペレーティングシステムが提供する標準関数または動作は異なる場合があります.
この場合,ソースコードを単独で記述することはメンテナンスに不利であり,条件コンパイルにより解決できる.
#if ~ #endif
#if(조건식)
컴파일 문장
#endif
#if ~ #else ~ #endif
#if(조건식)
컴파일 문장1
#else
컴파일 문장2
#endif
#if ~ #elif ~ #else ~ #endif
#if(조건식1)
컴파일 문장1
#elif (조건식2)
컴파일 문장2
#else
컴파일 문장3
#endif
#ifdef ~ #endif
#ifdef 매크로 이름
컴파일 문장
#endif
#ifndef ~ #endif
#ifndef 매크로 이름
컴파일 문장
#endif
19.4ファイル分割コンパイル
外部キー
19.5静的キーワードへのアクセス禁止
includeを使用してユーザータイトルファイルを作成する
ex)#include「カスタムライブラリ」
Reference
講座:朴正民、《Cプログラム設計》、KOCW韓国工業技術大学、18強
教材:朴正民『熱血で話すC言語の本色名授業によるC言語の奇跡』、フリーク(2011)、p 655-699.
Reference
この問題について([KOCW韓国産業技術大学朴正民教授]Cプログラミング19強), 我々は、より多くの情報をここで見つけました https://velog.io/@qmasem/KOCW-한국산업기술대학교-박정민-교수님-C-프로그래밍-19강テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol