GCC使用技巧之預編譯

2021-05-21 23:46:51 字數 570 閱讀 2322

對原始檔執行預編譯:

gcc -e /working/busybox/busybox-1.10.1/util-linux/fdisk.c | less

可以得到編譯所需標頭檔案的位置和依賴關係,如下所示:

# 1 "/working/busybox/busybox-1.10.1/util-linux/fdisk.c" 

# 1 "" 

# 1 "" 

# 1 "/working/busybox/busybox-1.10.1/util-linux/fdisk.c" 

# 1 "/working/include/bits/uclibc_arch_features.h" 1 

3 4 

# 38 "/working/include/features.h" 2 3 4 

# 356 "/working/include/features.h" 3 4 

extern void __assert (const char *, const char *, int, const char *); 

在本地有多個版本的頭檔案目錄時,可以由此確認編譯時使用的標頭檔案。

gcc中的預編譯巨集

gcc中的預編譯巨集 預定義的巨集 nase file 原始檔的完整路徑名,和 file 不同,被引用的檔案仍然是原來檔名 char unsigned 用於指定該機器上 char 是無符號型別 cplusplus 使用 c 編譯器編譯 date 編譯時的日期 file 編譯檔名 func 同 fun...

gcc 預處理(預編譯),編譯,彙編,鏈結

一,預編譯 操作步驟 gcc e hello.c o hello.i 主要作用 處理關於 的指令 刪除 define,展開所有巨集定義。例 define portnumber 3333 處理條件預編譯 if,ifdef,if,elif,endif 處理 include 預編譯指令,將包含的 h 檔案...

gcc 預處理(預編譯),編譯,彙編,鏈結

一,預編譯 操作步驟 gcc e hello.c o hello.i 主要作用 處理關於 的指令 刪除 define,展開所有巨集定義。例 define portnumber 3333 處理條件預編譯 if,ifdef,if,elif,endif 處理 include 預編譯指令,將包含的 h 檔案...