一、基本概念
ISO: International Organization for Standardization,国际标准组织
ANSI: American National Standards Institute,美国国家标准协会
GNU:GNU's Not Unix,为了实现自由开源目的一个基金会
POSIX: Portable Operating System Interface of UNIX,可移植操作系统接口标准,由IEEE发起
二、语言标准
C 的第一个标准C89是由ANSI发布的,后来被ISO采纳,称为C90。发展至今,C经历了C89、C90、C99、C11、C17、C23 共6版标准,其中C89和C90内容上无差,C17仅对C11进行补充修正。
三、可移植接口标准
POSIX规定了unix类操作系统提供的接口规范,使用POSIX标准的接口开发的程序,可移植到任何支持POSIX标准的操作系统中。
注:对POSIX标准的支持正是Linux系统取得巨大成功的原因之一,windows目前还未支持所有的POSIX标准
GNU则是提供了很多基于POSIX标准的软件和库,比如glibc、gcc、emacs等等
四、总结
对于开发者而言,想要代码全平台可移植,尽量使用ANSIC标准内的接口开发。如果想要在unix系统上可移植,则还可以使用POSIX标准内的接口开发。