Linux下C程序都是main开始的,main函数的原型是:数组
int main(int argc, char **argv)
其中argc是命令行参数的数目,argc是指向参数的各个指针所构成的数组。函数
C程序中有3个函数用于正常终止一个进程,_exit和_Exit当即进入内核,exit则作一些清理工做后后进入内核,好比清理IO缓冲区数据,对于全部打开的流进行close操做。 这3个函数都带一个整型参数,成为终止状态。spa
#include <stdlib.h> void exit(int status); void _Exit(int status); #include <unistd.h> void _exit(int status);
atexit函数命令行
atexit函数用来登记终止处理函数,按照ISO C的规定,一个进程最多能够登记32个函数,这些函数将由exit函数自动调用。进程终止时,exit首先调用各终止函数,而后关闭打开的流。3d
#include <stdio.h> int atexit(void (*func)(void));
使用atexit函数登记进程终止函数:指针
#include <stdio.h> void my_exit1(void) { printf("my_exit1\n"); } void my_exit2(void) { printf("my_exit2\n"); } int main(int argc, char **argv) { atexit(my_exit1); atexit(my_exit2); printf("hello world\n"); return 0; }
输出结果:code
每一个进程都有一个环境表,与参数表同样,环境表也是一个指针数组:对象
一般用getenv和putenv函数来访问特定的环境变量,而不是environ变量。可是,若是要查看整个环境,则必须使用environ指针。blog
任何程序的内存空间均可分为4个基本部分,各个部分的首地址是固定的。进程
C程序中有3个用于空间动态分配的函数: