语言宏相关高级用法"/>
c语言宏相关高级用法
outline
- all
- 可变参数宏
- c语言内置函数
- 1.__typeof__
- 2.__builtin_choose_expr
all
记录一些c语言宏相关的高级用法
可变参数宏
c语言内置函数
1.typeof
2.__builtin_choose_expr
语法格式
type __builtin_choose_expr (const_exp, exp1, exp2)
解释
这个函数的第一个参数必须是常量表达式,因为之前我已经说过,它属于编译时行为,而非运行时行为,跟sizeof和typeof一样。这个函数是一个谓词函数,如果const_expr的结果非0,那么生成exp1,且返回类型type也与exp1表达式的类型一致;否则生成exp2,并且返回类型type也与exp2的类型一致。由于是编译时行为,因此exp1与exp2表达式所产生的目标代码是互斥的,生成了exp1就不会存在exp2。
更多推荐
c语言宏相关高级用法
发布评论