C/C++のAPIの規格
標準Cライブラリ、POSIXなどの単語は知っているものの、厳密な規格は分かっていなかったので調べました。
標準Cライブラリ
Cの規格はISO/IEC 9899で定義されているそうです。APIについても同時に定義されているようです。
俗称 | ISO | JIS |
---|---|---|
C89? C90 | ISO/IEC 9899:1990 | JIS X 3010-1993 |
C95 | ISO/IEC 9899/AMD1:1995 | JIS X 3010:1993/AMENDMENT 1:1996 |
C99 | ISO/IEC 9899:1999 | JIS X 3010:2003 |
C11 | ISO/IEC 9899:2011 |
標準C++ライブラリ
C++の規格はISO/IEC 14882で定義されてるそうです。
俗称 | 互換のあるCの規格 | ISO | JIS |
---|---|---|---|
C++98 | C90 | ISO/IEC 14882:1998 | |
C++03 | C95 | ISO/IEC 14882:2003 | JIS X 3014:2003 |
C++11 | C99 | ISO/IEC 14882:2011 | |
C++14 | C99? | ISO/IEC 14882:2014 |
POSIX (Portable Operating System Interface for uniX) / SUS (Single UNIX Specification)
POSIXやSUSはAPIの提示だけでなく、ファイル構成やコマンドも含んでいます。 表の前半部分は多分UNIX戦争の影響なのでしょうか。
マーク | ベースとなるPOSIX | POSIXの規格 | SUSのバージョン |
---|---|---|---|
UNIX 93 | |||
UNIX 95 | |||
UNIX 98 | SUSv2 | ||
UNIX 03 | POSIX:2001 | IEEE Std 1003.1-2001 | SUSv3 |
POSIX:2004 | IEEE Std 1003.1-2004 | ||
POSIX:2008 | IEEE Std 1003.1-2008 | SUSv4 |
WikipediaではANSI/ISO C ⊂ POSIX.1 ⊂ SUSの関係になるらしいけど。。説明を読む感じだとどうなんでしょうね?