會的,當你運行時,編譯器還要檢查你的函數是否有格式或其它錯誤!
創(chuàng)新互聯長期為上千客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態(tài)環(huán)境。為天元企業(yè)提供專業(yè)的成都做網站、網站設計、外貿營銷網站建設,天元網站改版等技術服務。擁有十余年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
頭文件里你在代碼中沒有調用過的函數不會被編譯到exe文件中。如果沒有用過的函數也編譯進去,那可執(zhí)行程序得多大。
雖然不會編譯進去,平常還是需要用哪些函數就包含哪個頭文件,不需要的的不包含,編譯時費時間。
C是多文件編譯的,編譯時會把每個Cpp文件單獨編譯,然后在鏈接過程中,代碼中調用了哪個函數,編譯器就會鏈接哪個函數,沒有調用的不會鏈接。
采用條件編譯即可。
在.h頭文件中加上
#if?1
#define?FUNC_ENABLE
void?fun();
#endif
在.c中加上
#ifdef?FUNC_ENABLE
void?fun()?{?printf("OK\n");?}
#endif
當我們不想編譯該函數時,加#if 1改為#if 0即可。
例子:
#include?stdio.h
#if?1
#define?FUNC_ENABLE
void?fun();
#endif
#ifdef?FUNC_ENABLE
void?fun()?{?printf("OK\n");?}
#endif
int?main(void)?{
fun();
return?0;
}