PIC單片機(jī)CCS之C語(yǔ)言(#IFDEF,#ENDIF的用法)
#IFNDEF
本文引用地址:http://www.ex-cimer.com/article/201611/315396.htm#ELSE
#ELIF
#ENDIF
語(yǔ)法: #ifdef id
cide
#elif
code
#else
code
#endif
和
#ifndef id
code
#elif
code
#else
code
#endif
id是一個(gè)預(yù)處理器標(biāo)識(shí)符,code是一段有效的C源程序.
目的:這個(gè)指示的執(zhí)行同#IF相似.在#IF里,如果指定的ID(用#DEFINE 創(chuàng)建的ID)對(duì)預(yù)處理器來(lái)說(shuō)是已知的, 預(yù)處理器完全可以檢查到它;而在#IFDEF里,如果ID被定義了,則預(yù)處理器可以檢查到它,若沒(méi)有定義ID,則#IFNDEF可以檢查到它.
例子:
#define debug //定義debug
…
#ifdef debug //因?yàn)閐ebug在前面已定義,所以可執(zhí)行printf
printf(“debug poit a”);
#endif
例子文件:ex_sqw.c在前面已介紹過(guò)了
#INCLUDE
語(yǔ)法: #include
或
#include “filename”
filename是一個(gè)有效的PC文件名.它包括標(biāo)準(zhǔn)的驅(qū)動(dòng)和路徑信息.帶有”.encrypted”擴(kuò)展名的是一個(gè)有效的PC文件名.標(biāo)準(zhǔn)的編譯器#include directive會(huì)接受帶有這種擴(kuò)展名的文件,將它們譯成可讀的.這允許包含的文件被分配,但不釋放出其源程序代碼.
目的:來(lái)自指定文件的的字符用作編輯的指針.如果沒(méi)有將完整的路徑指定給編譯器, 編譯器將使用指定的目錄的列表為project搜查文件.若文件名在“…”里,那么主源程序文件所在的目錄首先被搜查.若文件名在<…>里, 那么主源程序文件所在的目錄最后被搜查.
例子:#include <16c54.h>
#include
例子文件:ex_sqw.c在前面已介紹過(guò)了
#INT_GLOBAL
語(yǔ)法: #int_global
目的:這種指示將引起下面的函數(shù)代替編譯器產(chǎn)生中斷. 函數(shù)通常不要求,而用來(lái)產(chǎn)生警告.當(dāng)使用#int_global時(shí),編譯器不產(chǎn)生啟動(dòng)代碼或清除代碼,也不存入寄存器.
例子:#int_global
isr(){ //將被定位在地址0x0004處
#asm
bsf isr_flug
retfie
#endasm
}
例子文件:ex_glint.c在前面已介紹過(guò)了
評(píng)論