野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 24681|回复: 4

新手小白求助。。关于宏定义。。

[复制链接]
发表于 2014-5-1 00:31:16 | 显示全部楼层 |阅读模式
嗯。。。在看火哥的视频  以前基本上,,,没用过宏定义。。。
然后

#define ON  0
#define OFF 1

#define LED1(a)  if (a)  \
          GPIO_SetBits(GPIOB,GPIO_Pin_0);\
          else    \
          GPIO_ResetBits(GPIOB,GPIO_Pin_0)



编译的时候  是不是编译器直接把所有的a换成了ON代表的 1或者OFF待变的 0 啊  然后ON还有OFF在编译之后是不是就根本不存在了。。。  

然后。。。mdk环境下 那些库函数都要记住么。。。名字好长啊。。。有没有类似eclipse那样提示的功能啊。。。

还有。。。在C语言里的 int char float bool这些关键字还能照常用么。。。










回复

使用道具 举报

发表于 2014-5-1 00:36:13 | 显示全部楼层
编译后,都会进行宏展开,ON和OFF都会换成0和1。
MDK 4.7版本可以提示输入的,或者可以用eclipse和Source Insight
回复 支持 反对

使用道具 举报

发表于 2014-5-1 11:38:37 | 显示全部楼层
在C语言里的 int char float bool这些关键字可以照常用。
库函数名字可以使用库函数手册,复制粘贴过来。
电脑上安装了VS2010,可以在mdk开启代码补全功能,或者使用source insight编辑
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-1 12:05:26 | 显示全部楼层
车菲菲 发表于 2014-5-1 00:36
编译后,都会进行宏展开,ON和OFF都会换成0和1。
MDK 4.7版本可以提示输入的,或者可以用eclipse和Source  ...

哦哦 好的 就是说这样写 编译之后就直接是 if(1)了 if(a)里面的a 就是一个常量 是吧  这样是为了提高代码的可读性 或者 可移植性是吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-1 12:12:37 | 显示全部楼层
flyleaf 发表于 2014-5-1 11:38
在C语言里的 int char float bool这些关键字可以照常用。
库函数名字可以使用库函数手册,复制粘贴过来。
...

哦哦 刚刚问度娘了  然后光盘里的keil有代码补全的功能~~  已经试过了 强烈支持,非常感谢哥们谢啦
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 01:58 , Processed in 0.029488 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表