1,引用分為兩種
firs:include<fileName.h> 引用系統頭文件一般用<>。
second:include"fileName.h" 引用自己定義的頭文件一般用" "。
區別是<>首先去系統中去找," "則在自己當前文件夾找。
2,只引用一次頭文件
如果一個頭文件被引用兩次,編譯器會處理兩次頭文件的內容,這將產生錯誤。為了防止這種情況,標准的做法是把文件的整個內容放在條件編譯語句中,如下:
_test.c
#include"_preprocess.h" int main(){ testPreprocess(); }
_preprocess.h
#ifndef PREPROCESS #define PREPROCESS #include<stdio.h> #include<stdlib.h> void testPreprocess(); #endif
_preprocess.c
#include"_preprocess.h" void testPreprocess(){ printf("Test preprocess"); }
命令 gcc _test.c _preprocess.c生成 .exe運行就可以了
3,有條件引用
有時需要從多個不同的頭文件中選擇一個引用到程序中。例如,需要指定在不同的操作系統上使用的配置參數。您可以通過一系列條件來實現這點,如下:
#if SYSTEM_1 # include "system_1.h" #elif SYSTEM_2 # include "system_2.h" #elif SYSTEM_3 ... #endif
但是如果頭文件比較多的時候,這么做是很不妥當的,預處理器使用宏來定義頭文件的名稱。這就是所謂的有條件引用。它不是用頭文件的名稱作為 #include 的直接參數,您只需要使用宏名稱代替即可:
#define SYSTEM_H "system_1.h" ... #include SYSTEM_H
SYSTEM_H 會擴展,預處理器會查找 system_1.h,就像 #include 最初編寫的那樣。SYSTEM_H 可通過 -D 選項被您的 Makefile 定義。