7

架空の DCPU-16 CPU (0x10C ゲームで使用される) 用の C コンパイラを書いています。このゲームの世界では、システム用に書かれたオリジナルのソフトウェアはすべて 1988 年以前 (またはその間) に開発されています。私は C89 標準のコピーを持っていますが、これより前の一般的なコンパイラが標準および当時の一般的なコーディング スタイルとどのように異なっていたかを知りたいです。

これまでのところ、これは私が想定しているものです:

  • 新旧両方のスタイルの関数定義/プロトタイプを定義するには、プリプロセッサ サポートを使用する必要があります。
  • コーディング スタイルでは、一般に、型、関数、および変数に "something_with_an_underscore" を使用します (これは本当ですか? 当時、ハンガリー語表記法はどの程度普及していましたか? キャメル ケースはどうでしょうか?)

私が知りたい他のこと:

  • 一般的な c コンパイラ/stdlib は、後の C89 標準とどのように異なっていましたか?
  • 流行していた一般的なコード パターンは何ですか?
  • 当時、共通変数はどのように命名されていましたか (i、n、foo、bar?)
  • 当時のサンプルコードはありますか?
  • 等...
4

5 に答える 5

2

定義された標準がない場合、人々はそれを「機能させる」ことだけに関心があります。C 言語だけでなく、ほぼすべての言語に適用できます。したがって、標準化されたものと比較して、すべての標準化前のコーディング スタイル/命名規則などの違いを見分けるのは困難です。ほとんどの人は、K&R の本 (1 番目と 2 番目) にあるものに従っただけだと思います。

サンプル用...

Dennis Ritchie のサイトで、彼がいくつかの例を示しています: Very Early C compilers and language . そのサイトを検索して、より関連性の高い情報を得ることができます。しかし、すべての質問に答えてもらえるとは思いません。

于 2013-01-30T19:30:07.613 に答える
0

私は C89 標準のコピーを持っていますが、これより前の一般的なコンパイラが標準および当時の一般的なコーディング スタイルとどのように異なっていたかを知りたいです。

C の歴史は、主にコンパイラ ベンダーによって作成されました。ANSI C を標準化する際、C89 委員会は既存のコードを壊さないように努力しました。C89 より前のコードは、C89 コンパイラでコンパイルされる可能性が高いと思います。

C89の根拠から:

「標準言語を指定する際に、委員会はいくつかの原則を使用しましたが、その中で最も重要なものは次のとおりです。 [...] かなりの商業的価値のある大量の C コードが存在します。このコードの大部分が確実に使用されるようにあらゆる試みが行われました。委員会は、準拠する翻訳者に受け入れられるようにするためだけに、ほとんどのプログラマーに C プログラムの変更を強制することを望んでいませんでした。」

于 2013-01-30T19:25:41.767 に答える
0

http://cm.bell-labs.com/who/dmr/を参照

特に「ソースを含め、1972 年から 73 年にかけての 2 つの原始的な C コンパイラの復活。」

于 2013-01-30T20:46:40.720 に答える