OpenCV启程-main函数的参数说明(avgc与argv)

每一个控制台程序都是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正式开始。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。