作者ruemann (此人挂网中……)
看板ASM
标题Re: [问题] \的意思?
时间Sat Aug 18 12:40:48 2007
※ 引述《CuckooBoy (阿书)》之铭言:
: #define A B = 1;\
: C = 0
: 请问 ";\" 的意思?
只是接行符号而已,代表和下一行合并成一行来看,也就是和
#define A B = 1; C = 0
是一样的意思
: 是用在一个变数定义多个常数吗?
: 如果三个就...
: #define A B = 1;\
: C = 0;\
: D = 2
: 是吧??
没错
: 如果用在程式的话, main1和main2会是相同的? 那麽;\用来缩减程式行数罗?
定义巨集,主要的功能在於让程式更具有可读性以及一些重复但不需要用到副函数
功能的情况下使用。
: main1()
: {
: A;
: }
: main2()
: {
: B = 1;
: C = 0;
: }
这其实是和C语言有关,在C语言中,#define只能有一行,可是如果想要用巨集去定义
一些功能时,通常会有好几行,全部写成一行也可以,不过会造成难以阅读,所以才
会用换行符号来接。
BTW,如果要用注解的话,记得要用/* */区块注解,不然会有惨案发生
给个例子:
假设把 WDT 重设的方式为 WDT = 0, CWDT = 0x55 (我随便编的)
那麽可以用一个巨集来取代
#define ResetWDT WDT = 0; /* 清除WDT数值 */ \
CWDT = 0x55 /* 重置WDT状态 */
那麽以後只要用 ResetWDT 就可以取代那两行动作,减少打字的时间
不过在debug上,巨集有时会让人很头痛……
--
我只是个想赚 P 币的迷途小羔羊
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.67.247.117
1F:推 CuckooBoy:感谢大大指导....小弟记住了 08/18 13:23
2F:→ ggg12345:是\CR 两字符("\" + "CR Carrier Return")合用当连字符. 08/18 14:46