新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > PIC單片機CCS之C語言(#IFDEF,#ENDIF的用法)

        PIC單片機CCS之C語言(#IFDEF,#ENDIF的用法)

        作者: 時間:2016-11-17 來源:網絡 收藏
        #IFDEF

        #IFNDEF

        本文引用地址:http://www.104case.com/article/201611/315396.htm

        #ELSE

        #ELIF

        #ENDIF

        語法: #ifdef id

        cide

        #elif

        code

        #else

        code

        #endif

        #ifndef id

        code

        #elif

        code

        #else

        code

        #endif

        id是一個預處理器標識符,code是一段有效的C源程序.

        目的:這個指示的執(zhí)行同#IF相似.在#IF里,如果指定的ID(用#DEFINE 創(chuàng)建的ID)對預處理器來說是已知的, 預處理器完全可以檢查到它;而在#IFDEF里,如果ID被定義了,則預處理器可以檢查到它,若沒有定義ID,則#IFNDEF可以檢查到它.

        例子:

        #define debug //定義debug

        #ifdef debug //因為debug在前面已定義,所以可執(zhí)行printf

        printf(“debug poit a”);

        #endif

        例子文件:ex_sqw.c在前面已介紹過了

        #INCLUDE

        語法: #include

        #include “filename”

        filename是一個有效的PC文件名.它包括標準的驅動和路徑信息.帶有”.encrypted”擴展名的是一個有效的PC文件名.標準的編譯器#include directive會接受帶有這種擴展名的文件,將它們譯成可讀的.這允許包含的文件被分配,但不釋放出其源程序代碼.

        目的:來自指定文件的的字符用作編輯的指針.如果沒有將完整的路徑指定給編譯器, 編譯器將使用指定的目錄的列表為project搜查文件.若文件名在“…”里,那么主源程序文件所在的目錄首先被搜查.若文件名在<…>里, 那么主源程序文件所在的目錄最后被搜查.

        例子:#include <16c54.h>

        #include

        例子文件:ex_sqw.c在前面已介紹過了

        #INT_GLOBAL

        語法: #int_global

        目的:這種指示將引起下面的函數代替編譯器產生中斷. 函數通常不要求,而用來產生警告.當使用#int_global時,編譯器不產生啟動代碼或清除代碼,也不存入寄存器.

        例子:#int_global

        isr(){ //將被定位在地址0x0004處

        #asm

        bsf isr_flug

        retfie

        #endasm

        }

        例子文件:ex_glint.c在前面已介紹過了



        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 德保县| 彭阳县| 托克托县| 嘉义市| 略阳县| 南昌市| 宁陕县| 赤城县| 宣恩县| 阳春市| 读书| 嘉荫县| 神农架林区| 延边| 军事| 山阳县| 息烽县| 保康县| 龙海市| 临海市| 林西县| 凤翔县| 武冈市| 龙游县| 蓝田县| 牙克石市| 武胜县| 海兴县| 余江县| 融水| 海城市| 娄底市| 平顺县| 永修县| 商丘市| 阜新| 曲沃县| 建阳市| 德安县| 如东县| 长治县|