VS2015除錯"int main(int argc, char **argv)"型控制檯程式:輸入命令引數
阿新 • • 發佈:2018-11-10
關於“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直接幫你填了。另外就是“工作目錄”這一項也需要注意要跟命令中的相對路徑進行配合。