在过去的将近25年时间,人们为了UNIX的标准化做出了种种努力,这使得程序在不同版本的UNIX系统之间的移植相当容易. ISO C 1989年,C语言首个标准得到批准,其为C89.次年,一个带有小改动的版本标准被批准其为C90.因此,C89和C90通常指同一种语言.在2000年三月,ANSI采纳了ISO/IEC 9899:1999标准.这个标准通常指C99.在2011年12月,ANSI采纳了ISO/IEC 9899:2011标准.这个标准通常即C11,它是C程序语言的现行标准. 按照ISO C标…
随着UNIX各种衍生版本不断发展壮大,标准化工作就十分必要.其实干啥事都是这样,玩的人多了,必须进行标准化. 一.UNIX标准 1.1 ISO C(ANSI C) ANSI:Amerocan Natoinal Standards Institute,美国国家标准学会,是ISO的程序 ISO: International Organization for Standardization,国际标准化组织 IEC:International Electrotechnical CCommission,国…
第三章说明了关于文件I/O的基本函数,主要是针对普通regular类型文件.本章描述文件的属性,除了regular文件还有其他类型的文件. 函数stat.fstat.fstatat和lstat stat系列函数用于返回文件的属性信息,比如文件类型.大小.所有者.访问修改时间等.其头文件及函数原型如下: #include <sys/stat.h> int stat (const char *restrict file, struct stat *restrict buf); int fstat…
文件和目录 start fstart lstart函数 一旦给出pathname, start函数就返回了与此命名文件有关的信息结构 #include <sys/start> int stat(const char *pathname, struct stat *buf); int fstat(int fd, struct stat *buf); int lstat(const char *pathname, struct stat *buf);/*能观察到符号链接*/ 参数: pathnam…
使用C++调用pthread_cleanup_push( )时,下面的代码是无法编译通过的: pthread_cleanup_push(cleanup, "thread 1 first handler"); 如果编译,则编译器可能会提示:no matching constructor for initialization of '__pthread_cleanup_class'. 由于相对于C语言而言,C++对类型的要求更严格,不同的不兼容类型之间不能直接转换,比如在C++中,int…