快捷搜索:

PIC单片机CCS之C言语(#IFDEF,#ENDIF的用法)

语法: #ifdef id

cide

#elif

code

#else

code

#endif

#ifndef id

code

#elif

code

#else

code

#endif

id是一个预处理器标识符,code是一段有用 的C源程序.

用意:这个指示的执行同#IF类似 .在#IF里,假如 指定的ID(用#DEFINE 创建的ID)对预处理器来说是已知的, 预处理器完全可以查看 到它;而在#IFDEF里,假如 ID被定义 了,则预处理器可以查看 到它,若没有定义 ID,则#IFNDEF可以查看 到它.

例子:

#define debug //定义 debug

#ifdef debug //因为debug在前面已定义 ,所以可执行printf

printf(“debug poit a”);

#endif

例子文件:ex_sqw.c在前面已介绍过了

#INCLUDE

语法: #include

#include “filename”

filename是一个有用 的PC文件名.它包括规范 的驱动和途径 信息.带有”.encrypted”扩展名的是一个有用 的PC文件名.规范 的编译器#include directive会承受 带有这种扩展名的文件,将它们译成可读的.这允许包括 的文件被分配,但不开释 出其源程序代码.

用意:来自指定文件的的字符用作修正 的指针.假如 没有将完好 的途径 指定给编译器, 编译器将使用指定的目录的列表为project搜查文件.若文件名在“…”里,那么主源程序文件地点 的目录首要 被搜查.若文件名在里, 那么主源程序文件地点 的目录终究 被搜查.

例子:#include

#include

例子文件:ex_sqw.c在前面已介绍过了

#INT_GLOBAL

语法: #int_global

用意:这种指示将引起下面的函数代替 编译器发生 中断. 函数通常不要求,而用来发生 警告 .当使用#int_global时,编译器不发生 启动代码或清除代码,也不存入存放 器.

例子:#int_global

isr(){ //将被定位在地 址0x0004处

#asm

bsf isr_flug

retfie

#endasm

}

例子文件:ex_glint.c在前面已介绍过了

您可能还会对下面的文章感兴趣: