1. 程式人生 > >VS2015除錯"int main(int argc, char **argv)"型控制檯程式:輸入命令引數

VS2015除錯"int main(int argc, char **argv)"型控制檯程式:輸入命令引數

關於“int main(int argc, char **argv)”型控制檯程式的除錯

方法1:

開啟控制檯然後輸入命令除錯;

方法2:

其中vs中程式碼如下:

	CommandParser cp(argc,argv); // object to parse command line
	
	int lowThreshold = 10;		//deafult value
	int highThreashold = 100;	//deafult value

	double minScore=0.7;		//deafult value
	double greediness=0.8;		//deafult value

	double total_time =0;
	double score= 0;
	cv::Point result;

	//Load Template image 
	char *param;
	param = cp.GetParameter("-t");
	if(param==NULL)
	{
		cout<<"ERROR: Template image argument missing";
		WrongUsage();
		return -1;
	}

	cv::Mat templateImage = cv::imread(param,0);
	if( templateImage.empty())
	{
		cout<<"\nERROR: Could not load Template Image.\n"<<param;
		return 0;
	}
	
	param = cp.GetParameter("-s");
	if(param==NULL)
	{
		cout<<"ERROR: source image argument missing";
		WrongUsage();
		return -1;
	}
	//Load Search Image
	cv::Mat searchImage = cv::imread(param, 0);
	if( searchImage.empty() )
	{
		cout<<"\nERROR: Could not load Search Image." <<param;
		return 0;
	}
	
	param = cp.GetParameter("-l"); //get Low threshold
	if(param != NULL )
		lowThreshold = atoi(param);
	
	param = cp.GetParameter("-h");
	if(param != NULL )
		highThreashold = atoi(param);//get high threshold
	
	param = cp.GetParameter("-m"); // get minimum score
	if(param != NULL )
		minScore = atof(param);

	param = cp.GetParameter("-g");//get greediness
	if(param != NULL )
		greediness = atof(param);


可以直接除錯"接收命令輸入"的程式,操作也非常簡單,流程如下:
專案->屬性->除錯->命令引數
然後在右邊輸入具體的命令即可,如下圖所示:


需要注意的是,這裡的命令不需要再輸入exe這一項,VS直接幫你填了。另外就是“工作目錄”這一項也需要注意要跟命令中的相對路徑進行配合。