Posix

POSIX 是否提及 cc 或僅提及 c99?

  • July 19, 2017

我知道最新版本的 POSIX 指定應該(可選地)存在並呼叫符合 C99 的編譯器c99。同樣,舊版本的 POSIX 用於指定c89作為“C 語言開發實用程序”的一部分存在的可選命令。

但是,我很難找到對cc. 這個命令是在 POSIX 標準中的某個地方提到的還是只是一個約定?

最初的 POSIX 1003.1(1988 年發布)指定了一個cc實用程序。單一 Unix 規範第 2 版(1997 年)包括ccc89. 該名稱c89被引入為 C 的標準方言。該名稱cc被保留但標記為舊版並聲明為 C 的未指定方言。許多供應商提供了預設為K&R C(即 pre-ANSI C)的編譯器名稱下cc. 您可能會注意到這cc是強制性的,而c89它是 C 語言開發選項的一部分。cc以僅真正能夠編譯核心驅動程序的名稱使用 C 編譯器是很常見的,而商業 unice 通常會為適當的 C 編譯器收取額外費用。

POSIX 1003.1-2001 (Single Unix v3) 指定c99指定而不是c89, 以使用 C 的更新標準方言。您可以看到包含cc實用程序的草稿中留下的一些編輯痕跡,但cc已從規範中刪除。POSIX 1003.1-2008 (Single Unix v4) 又一次有了c99

引用自:https://unix.stackexchange.com/questions/378890