C++入口函数main返回值
2012-11-06 14:56
295 查看
1.具有MS特色的main函数,MS坚持20年不动摇.无论是C89,C99,C++98都不支持这种形式.但是MS的编译器支持,如果想程序移植性良好,强烈建议不采用这种方式.
2.这种写法是为了兼容早期的C语言,因为第一个版本的C中内置类型只有int(char,double,float,bool都是后来加入的),既然只有一种类型,那么不写就默认int.C99标准中要求,对于这种写法至少给出编译警告.不建议采用这种老的书写方式.
3.win32控制台程序最常见的写法,返回值为0.为什么不返回-1,或者1呢.0表示正常情况.main的返回值是给操作系统用的,如果是单进程的程序一般用不到这个返回值,但是如果是
作业或者其他联系紧密的进程,那么这个返回值就有用了,其他进程可能会要使用这个返回值.
参数1:argc 表示 命令行输入参数的个数(不输入默认1)
参数2:argv表示 命令行输入参数的值(不输入默认为exe的全路径)
直接双击运行输出如下结果:
命令行运行输出如下结果:
5.window窗口程序入口
其中宏__in表示入参,WINAPI调用约束 __stdcall
参数1:
参数3:
参数4:
void main() { }
2.这种写法是为了兼容早期的C语言,因为第一个版本的C中内置类型只有int(char,double,float,bool都是后来加入的),既然只有一种类型,那么不写就默认int.C99标准中要求,对于这种写法至少给出编译警告.不建议采用这种老的书写方式.
main() { return 0; }
3.win32控制台程序最常见的写法,返回值为0.为什么不返回-1,或者1呢.0表示正常情况.main的返回值是给操作系统用的,如果是单进程的程序一般用不到这个返回值,但是如果是
作业或者其他联系紧密的进程,那么这个返回值就有用了,其他进程可能会要使用这个返回值.
int main() { return 0; }5.C99规定了两种形式之一
参数1:argc 表示 命令行输入参数的个数(不输入默认1)
参数2:argv表示 命令行输入参数的值(不输入默认为exe的全路径)
int main(int argc,char**argv) { return 0; }例如如下代码:
#include <iostream> int main(int argc,char* argv[]) { std::cout<<argc<<std::endl; int i; for (i = 0 ;i < argc ; i ++) { std::cout<<argv[i]<<std::endl; } system("pause"); return 0; };
直接双击运行输出如下结果:
命令行运行输出如下结果:
5.window窗口程序入口
int WINAPI WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in LPSTR lpCmdLine, __in int nShowCmd ) { return 0; }
其中宏__in表示入参,WINAPI调用约束 __stdcall
参数1:
hInstance 表示 程序的实力句柄参数2:
HINSTANCE hPrevInstance 早期window应用程序用于表示适当程序是否有别的实例正在运行
参数3:
__in LPSTR lpCmdLine 命令行, 一般用于文件的load到内存
参数4:
__in int nShowCmd 窗口打开的是的状态(最大化,隐藏,正常)
相关文章推荐
- 9.Lua调用c++函数获取返回值
- c++只要基类有虚函数,子类同名同参数同返回值同属性的函数默认都是虚函数
- 也谈C++深拷贝、浅拷贝和函数返回值作参数及其临时变量的生存期
- c++ 返回值是引用或者非引用
- 20161224C++阶段班02_C to C++_03引用/指针/引用传参和返回值
- C++引用参数和引用返回值
- c++返回值与引用
- c++函数参数和返回值的规则
- c++ 赋值操作符的返回值
- c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题
- c++未指定返回值
- C/C++ 返回值、参数列表、缺省等区别
- C++中内存分配、函数调用和返回值
- 讨论构造拷贝构造的N中调用情况&&总结C++对传参合传返回值时构造的优化处理。
- 浅谈C++中内存分配、函数调用和返回值问题
- 浅谈C/C++中内存分配、函数调用和返回值问题
- C++ 函数参数、返回值效率测试
- c++ : 过程抽象和返回值的函数
- 浅谈C++中内存分配、函数调用和返回值问题
- C++引用参数和引用返回值