用宏消除log输出的冗余逻辑

1.概要

需求:常用的输出log的地方 一般要输出:文件、函数、行数、异常信息等
这种需求封装函数不行:
1.因为 行数 必须记录当时的行数,如过写在函数里就变成函数的行数了
2.return 返回的值还必须在主函数中处理,代码也很啰嗦
能不能用宏来解决这个问题呢,因为宏的特点就是代码的替换,且可以让代码看的简介所以做了如下试验
试验结果:可以这中方法用来解决log冗余代码的问题很有用

2.代码

#include <stdio.h>

/*
需求:常用的输出log的地方 一般要输出:文件、函数、行数、异常信息等
这种需求封装函数不行:
1.因为 行数 必须记录当时的行数,如过写在函数里就变成函数的行数了
2.return 返回的值还必须在主函数中处理,代码也很啰嗦
能不能用宏来解决这个问题呢,因为宏的特点就是代码的替换,且可以让代码看的简介所以做了如下试验
试验结果:可以这中方法用来解决log冗余代码的问题很有用
*/

#define fun(a,b) a+b;
#define fun2(err) if (err > 0) {\
			printf("%s,%d\n", __FILE__, __func__);\
			return err;\
		}

int main() {
	//简单应用
	int a = fun(5, 6);
	printf("%d\n",a);

	int err = 5;
	fun2(err);
	
	/* 把这段变成宏
	if (err > 0) {
		printf("%s,%d\n", __FILE__, __func__);
		return err;
	}*/

	
	printf("hello word:");
}

3.运行结果

11
C:\Users\jxie33\source\repos\ConsoleApplication4\Project2\Main.c,-1464624108

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值