vs中的宏定义多种使用方法
以及在大项目中如何查看代码行段和函数名称及路径__LINE__(行号),__func__(所在函数名称),__FILE__(文件名)
一、有什么用处
宏定义的使用和__LINE__(行号),__func__(所在函数名称),__FILE__(文件名)可以在大项目中更容易查看代码出错的地方
二、使用步骤
1.宏定义
@1
这里的#define DEBUG
就是相当于一个开关,在编译器预处理之前就给完成了转译
#ifdef DEBUG 这里的语句相当于if else 但结束是需要一个#endif
这个代码输出的是a的值,以为定义了DEBUG
@2
这个是简单的求圆面积的代码,直接用宏替换其中的PI和半径,这在一些项目中比较常见,是比较简单的用法
但是有一种写法会出错,这个错误有时候不注意就会出错
这里的是正确的,带入完全没问题,但是如果把3换成1+2呢,看看效果
看,结果是5,因为C语言的预处理不关心我们c的语法,不会替我们做计算,他会直接代值进去,代进去就是1+2*1+2,刚好等于5,为了避免这种错误,只能在宏定义时改为#define F(x) (x)*(x),在每个表达式上加上括号就可以了
这样就不会出错了
2.__LINE__,__func__,__FILE__
这在大项目中很常见到