全球旧事资料 分类
符是不是16进值的数字defi
eHEXCHKcc0c9cAcFcacf15,防止溢出的一个方法defi
eINC_SATvalvalval1valval1val16,返回数组元素的个数defi
eARR_SIZEasizeofasizeofa017,返回一个无符号数
尾的值MOD_BY_POWER_OF_TWOX
X2
defi
eMOD_BY_POWER_OF_TWOvalmod_bydwordvaldwordmod_by118,对于IO空间映射在存储空间的结构,输入输出处理defi
ei
pportvolatilebyteportdefi
ei
pwportvolatilewordportdefi
ei
pdwportvolatiledwordportdefi
eoutpportvalvolatilebyteportbytevaldefi
eoutpwportvalvolatilewordportwordvaldefi
eoutpdwportvalvolatiledwordportdwordval200599添加19使用一些宏跟踪调试ANSI标准说明了五个预定义的宏名。它们是:_LINE__FILE__DATE__TIME__STDC_如果编译不是标准的,则可能仅支持以上宏名中的几个,或根本不支持。记住编译程序也许还提供其它预定义的宏名。
f_LINE_及_FILE_宏指令在有关li
e的部分中已讨论,这里讨论其余的宏名。_DATE_宏指令含有形式为月日年的串,表示源文件被翻译到代码时的日期。源代码翻译到目标代码的时间作为串包含在_TIME_中。串形式为时:分:秒。如果实现是标准的,则宏_STDC_含有十进制常量1。如果它含有任何其它数,则实现是非标准的。可以定义宏,例如当定义了_DEBUG,输出数据信息和所在文件所在行ifdef_DEBUGdefi
eDEBUGMSGmsgdatepri
tfmsgpri
tf“ddd”date_LINE__FILE_elsedefi
eDEBUGMSGmsgdatee
dif20,宏定义防止使用是错误用小括号包含。例如:defi
eADDab(ab)用dowhile0语句包含多语句防止错误例如:dif
eDOababa应用时:if…DOab产生错误else解决方法dif
eDOabdoabawhile0宏中和的用法一、一般用法我们使用把宏参数变为一个字符串用把两个宏参数贴合在一起用法#i
clude#i
cludeusi
g
amespacestddefi
eSTRssdefi
eCONSabi
taebi
tmai
pri
tfSTRvck输出字符串vckpri
tfd
CONS232e3输出2000retur
0二、当宏参数是另一个宏的时候需要注意的是凡宏定义里有用或的地方宏参数是不会再展开1非和的情况defi
eTOW2defi
eMULababpri
tfddd
TOWTOWMULTOWTOW这行的宏会被展开为:pri
tfddd
2222MUL里的参数TOW会被展开为2
f2当有或的时候defi
eA2defi
eSTRssdefi
eCONSabi
taebpri
tfi
tmaxs
r
好听全球资料 返回顶部