每一个控制台程序都是main函数开始的,当我们看官方例程或网上的程序时,很可能看到带参数的main函数,如:int main(int argc,char** argv)
然而这两个参数其实完全可以不用,甚至不带,这此之前,我们还是要了解一下它们的作用是什么。
argc是argument counter的意思,用来统计程序运行时传给main函数的命令行参数
argv是argument vector的意思,以“* argv[]”或“** argv”的形式出现,用来存放指向字符串参数的指针数组,每一个元素指向一个参数
带参数的main函数如下:
int main(int argc,char** argv)
{
...
}
这是与跨平台环境相适应的标准写法,但我们暂时是在WINDOWS环境下做开发学习,所以我们用不带参数的main函数。
一、参数具体含义
argc 参数个数
argv[0] 程序的全路径名
argv[1] 命令行程序执行时第一个字符串参数
argv[2] 命令行程序执行时第二个字符串参数
argv[3] 命令行程序执行时第三个字符串参数
...
argv[argc] NULL
如果在VS环境下进行有参调试,需要配置命令参数:
点击“项目”菜单->“属性”,打开“属性页”对话框,找到“调试”->“命令参数”中的“编辑”,打开编辑框,将参数输入,多个参数用空格隔开。
二、VS中main函数的几种写法
1、有返回值并带参数
int main(int argc,char** argv)
{
...
return 1;
}
这种模式下,参数可以用,也可以不用。
2、有返回值且不带参数
int main()
{
...
return 1;
}
这种模式下,直接不带参数。
3、无返回值且不带参数
void main()
{
...
}
三、显示当前所用的OpenCV的版本
printf("当前使用的OpenCV的版本为:"CV_VERSION);
好了,下一个文档,将要学习HightGUI图形用户界面的初步内容,OpenCV正式开始。