1 main函数的概念
1.1 main函数的概念
main函数:
- C语言中的main函数称之为主函数。
- 一个C程序是从main函数开始执行的。
- main函数是操作系统调用的函数。
- 操作系统总是将main函数作为应用程序的开始。
- 操作系统将main函数的返回值作为程序的退出状态。
1.2 main函数的原型
如下几种main函数的定义均为正确的:
1.3 main函数的参数
程序执行时可以向main函数传递参数。
gcc编译器的常见用法:
main函数的参数:
#include <stdio.h>
int main(int argc, char* argv[], char* env[])
{
int i = 0;
printf("============== Begin argv ==============\n");
for(i=0; i<argc; i++)
{
printf("%s\n", argv[i]);
}
printf("============== End argv ==============\n");
printf("\n");
printf("\n");
printf("\n");
printf("============== Begin env ==============\n");
for(i=0; env[i]!=NULL; i++)
{
printf("%s\n", env[i]);
}
printf("============== End env ==============\n");
return 0;
}
1.4 main函数不一定是第一个执行的程序
现代的编译支持在main函数前调用其他函数,比如gcc中:
#include <stdio.h>
#ifndef __GNUC__
#define __attribute__(x)
#endif
__attribute__((constructor))
void before_main()
{
printf("%s\n",__FUNCTION__);
}
__attribute__((destructor))
void after_main()
{
printf("%s\n",__FUNCTION__);
}
int main()
{
printf("%s\n",__FUNCTION__);
return 0;
}
参考资料: