C/C++利用位运算来进行函数参数检查

本文探讨如何在C/C++中使用位运算进行函数参数检查,特别是在嵌入式开发中,当无法进行单步调试时,如何通过位运算快速定位无效参数,提高调试效率。
摘要由CSDN通过智能技术生成

     经常我们写一个函数时,假如它有多个参数,我们在函数入口处,对这多个参数的有效性进行检查,经常使用的写法会像下面一样

#include "stdafx.h"
#include <iostream>

void testFunction(int *pTest, int test, bool isTest){
    if((pTest == NULL) || (test < 0) || (isTest == false)){
	printf("invalid argument\n");
	return;
    }

    return;
}

int _tmain(int argc, _TCHAR* argv[]){
    testFunction(NULL, 10, true);

    return 0;
}

    当然,这样的写法你会在PC上,或是能够进行单步调试的时候,设置断点,能够很清楚的知道哪个参数无效,但是我们再嵌入式开发的时候,在真机上调试,常常只能用printf语句打印来进行调试,遇到这种写法,你只知道参数有误,却不知道是哪个参数出了问题。然后又来加打印,去查看值看哪个参数出了问题。。。。。。

    或者,你可以直接写成下面这样的写法:

void testFunction(int *pTest, int test, bool isTest){
	if(pTest == NULL){
		printf("invalid argument of pTest\n");
		return;
	}
	
	
	if(test < 0){
		printf("inva
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值