|
1、在我之前學(xué)習(xí)的arm9的ADS1.2當(dāng)中,頭文件是寫好了之后直接addfiles,然后在主函數(shù)中include頭文件就可用頭文件中的宏定義了
2、在keil mdk當(dāng)中也是直接加add group 然后在GROUP中加add files進(jìn)來 在主函數(shù)的中包含頭文件和就行了,其中C文件直接用 不用包含。
3、多個(gè).c文件時(shí)怎么連接在一起的呢?是這樣的:假如有main.c和A.c, B.c,C.c,要在main函數(shù)中使用A.c, B.c, C.c這多個(gè)C文件里面的函數(shù),現(xiàn)在假設(shè)這三個(gè)C文件當(dāng)中各自有函數(shù)voidAAA();void BBB();void CCC();那么就要之前聲明extern voidAAA();,才能使用AAA(),但是一般的這個(gè)extern寫進(jìn)了頭文件當(dāng)中,所以頭文件有對(duì)應(yīng)的A.H,B.H,C.H,在程序之前INCLUDE就行了
4、防止一個(gè)頭文件被一個(gè)源文件多次包含的編譯預(yù)處理
完整形式是
#ifndef _H_LETTER_H_A ①
#define _H_LETTER_H_A ②
頭文件中的內(nèi)容
#endif ③
假設(shè)一個(gè)源文件第一次包含這個(gè)頭文件 則 語句①成立然后執(zhí)行語句②并把頭文件的內(nèi)容(到③處結(jié)束)拷貝到這個(gè)源文件。
當(dāng)?shù)诙伟祟^文件,由于在第一次包含這個(gè)頭文件是執(zhí)行了語句②_H_LETTER_H_A已經(jīng)被定義,這時(shí)語句①就不成立了就直接跳到語句③后面,這樣這個(gè)頭文件的內(nèi)容就不會(huì)被包含兩次,就防止了多次定義相同的變量或者函數(shù)。
|
|