本帖最后由 baizy77 于 2018-10-1 20:45 编辑
版权声明 --------------------------------------------------------------------------------------------------------------------- 作者: 女儿叫老白 (白振勇) 转载请注明出处! --------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------- 引言 ----------------------------------------------------------------------------- 本节也是扫盲课程哦。
正文 ----------------------------------------------------------------------------- C++可执行程序(exe)的入口是main()函数,也就是说,我们用C++语言编写的任何可执行程序,都要具备main()函数。如果您使用MFC框架开发,那就不太一样了,因为MFC已经进行了封装,它提供的对外接口已经变成MFC自己的入口了。但是,实际上程序执行时最终调用的仍然是main()函数。 当我们进行32位或64位编译时,如果将编译器的配置弄错了,则有可能导致出现找不到main()函数的编译错误,比如: error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用。 这时候我们就要检查开发工具的配置,检查其中的开发环境是否配置有误。 main()函数形式如下: int main(int argc, char * argv[]) main()函数有两个参数,argc表示入口参数个数,argv是入口参数列表。 比如我们开发了一个程序,名称为transfer.exe, 它负责将一个dat文件转换为xml文件,那么程序可能设计为如下的调用方式: transfer.exe -i /usr/local/project/input.dat -o /usr/local/project/out/output.xml 这里就存在5个参数(包括transfer.exe),argv中保存了5个参数的列表,其中第一个是(transfer.exe的全路径名),后面4个依次为: -i /usr/local/project/input.dat -o /usr/local/project/out/output.xml 当我们开发命令行应用程序或者服务类程序时,经常会用到main()函数的入口参数。 ---------------------------------------------------------------- * 参考资料:《C++编程思想》两卷合订本中文版(2.3.3章节),(美) BruceEckel Chuck Allison著
|