Keic C51中几个预处理指令

 

1.#message
用法:#message "message"
用途:当编译器编译到#message处会在编译输出栏中输出message消息,这时程序员可以知道编译器已经并且编译了该处,可以用来检查程序是否有编译了此处,或者在此设置一些消息告知程序员。
此条预编译指令相当于C中的#pragma message("消息文本") ,此预编译命令在Keil Compiler也可以支持,效果与#message
例如:
#ifdef DEBUG_ENABLE
#message "IN DEBUG MODE"//可以用来告知程序员程序处于DEBUG模式下
#endif
这样的message会在uVision的Output Window上显示,而无论有多少个message输出,编译输出栏都不会有warning或error。

2.#warning
用法:#warning "message"
用途:与#message类似,区别是当遇到这样的预编译命令会抛出一个警告,若有多个警告则编译输出栏中的warning个数累加。

3.#error
用法:#error "message"
用途:程序员会在source code中的重要部分加上这个预编译指令,因为编译到了这个地方程序可能会有问题而编译器却无法发现,这时这条预编译指令就产生了作用。碰到此指令会抛出一个错误,程序将无法通过编译。

以上三条指令用法类似,只是编译的时候抛出的warning级别不一样,程序员可以自己根据严重程度自己设置,三条指令显示的消息可以不用加双引号"",这三条预编译指令只在Keil Compiler上有效。

4.#ifndef/#define/#endif组合
作用:防止该头文件被重复引用。与#pragma once指令类似,但keil compiler不支持此指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次。


5.#ifndef name等同于#if !defined(name)

#ifndef name等同于#if !defined(name)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值