一. 程序参数
int main(int argc , char *argv[])
argc是程序参数的个数,argv是一个代表参数自身的字符串数组。参数个数包括程序自身,argv数组也包含程序名并把它作为第一个元素argv[0]
二. 环境变量
控制shell脚本和其它程序的变量,可以用来配置用户环境。
char *getenv( const char * name);
int putenv ( const char *string);
环境由一组格式为“名字=值”的字符串组成。
三. 时间和日期
所有UNIX系统时间和日期的起点:格林尼治时间(1970年1月1日午夜0点)。时间类型:time_t
time_t time(time_t *tloc) 返回的是从纪元开始至今的秒数。
struct tm * gmtime( const time_t timeval ) 把底层时间值分为一个结构,该结构包含一些常用的成员。按GMT时间返回,统一全球各地的所有程序和系统。
struct tm *localtime( const time_t *timeval) 得到的是当地时间。
四. 临时文件
必须确保临时文件选取的文件名是唯一的。
char *tmpnam ( char *s) 返回一个唯一的文件名
FILE * tmpfile( void) 返回一个文件流指针,指向一个唯一的临时文件。
五. 用户信息
除了著名的init信息以外,所有的linux程序都是由其它程序和用户启动的。
uid_t getuid( void ) 返回程序关联的UID
char * getlogin( void) 返回与当前用户关联的登录名
六. 主机信息
int gethostname( char *name, size_t namelen ) 把机器的网络名写入name字符串
int uname( struct utname *name) 把主机信息写入到name参数指向的结构。
七. 日志
八. 资源和限制
运行的程序会受到资源限制的影响。
一个程序耗费的时间分为CPU时间(程序执行自身的指令所耗费的时间)和用户时间(操作系统为程序执行所耗费的时间)。