5
ทำไมตัวประมวลผลล่วงหน้า C ตีความคำว่า“ linux” เป็นค่าคงที่“ 1”
ทำไมCตัวประมวลผลล่วงหน้าในGCCตีความคำว่าlinux(ตัวอักษรตัวเล็ก) เป็นค่าคงที่1? test.c: #include <stdio.h> int main(void) { int linux = 5; return 0; } ผลลัพธ์ของ $ gcc -E test.c (หยุดหลังจากขั้นตอนการประมวลผลล่วงหน้า): .... int main(void) { int 1 = 5; return 0; } ซึ่งแน่นอนว่าข้อผิดพลาด (BTW: ไม่มี#define linuxในstdio.hไฟล์)
1022
c
linux
gcc
c-preprocessor