คำอธิบาย
Conditional Compilation ใช้ Preprocessor Directives ควบคุมว่าส่วนไหนของโค้ดจะถูกคอมไพล์ Directives หลัก:
- #if - คอมไพล์ถ้า constant expression เป็นจริง
- #else - ทางเลือกเมื่อ #if เป็นเท็จ
- #elif - Else-if chain
- #endif - จบบล็อก #if
รูปแบบทั่วไป
#if constant_expression
// code
#endif
การใช้งานอื่นๆ
- Comment out โค้ด: #if 0 ... #endif (คอมไพเลอร์จะข้าม)
- #ifdef MACRO - คอมไพล์ถ้า MACRO ถูก define
- #ifndef MACRO - คอมไพล์ถ้า MACRO ยังไม่ define
- #undef MACRO - ยกเลิกการ define
- #line - เปลี่ยน __LINE__ และ __FILE__
- #pragma - คำสั่งเฉพาะคอมไพเลอร์
ตัวอย่าง
#include <stdio.h>
#define a 10
void main() {
#ifdef a
printf("Hello I am here..");
#endif
#ifndef a
printf("Not defined");
#else
printf("R u There");
#endif
}
ผลลัพธ์
Hello I am here.. R u There