1.main函数的原型
int main(void)
int main(int argc, char* argv[])
int main(int argc, char* argv[], char* env[] )
argc命令行参数的个数
argv命令行参数,以NULL结束
env环境变量,以NULL结束
运行結果:
Hello World!
argv[0]=./helloworld
env[0]=ORBIT_SOCKETDIR=/tmp/orbit-jerry
env[1]=SSH_AGENT_PID=1365
env[2]=TERM=xterm
env[3]=SHELL=/bin/bash
env[4]=XDG_SESSION_COOKIE=03739f9a4df8f5efe9bd70744d164959-1293451882.183158-1973707086
......
2.main函数的返回值
main函数的返回值是返回给父进程的,父进程调用以下函数来获取子进程的退出码(即main函数的返回值)
pid_t wait(int* status);
pid_t waitpid(pid_t pid, int* status, int option);
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("Hello World!/n");
return 100;
}
在bash在,执行一个命令后(bash里是父进程,命令是子进程),$?里存放的是这个命令的退出码
./hellowrold ; echo $?
运行結果:
Hello World!
100
3.main函数不是第一个执行的函数
运行結果:
hello_init
Hello World!
hello_fini