[解決済み] gcc CコンパイラはC言語で書かれているのですか?
2023-03-02 19:29:55
質問
gcc CコンパイラはC言語で書かれているのですか?それともアセンブリで書かれているのですか?コンパイラがC言語で書かれている場合、コンパイラのコードをコンパイルするために使用されるコンパイラは何ですか?
どのように解決するのですか?
gcc に関する具体的な履歴は、以下のページにあります。 GCC ウィキ . より一般的なポイントは、一般にコンパイラは、それ自身をコンパイルできるほど強力になるまで、もともと他のコンパイラと一緒にコンパイルされるということです。あるいは、アセンブラであなたの機能のサブセットを扱える基本的なコンパイラを書き、そこから構築することも可能です。しかし、これもまた、もうほとんど必要ありません。様々な言語のコンパイラがたくさんあります。gcc はもともといくつかのコンパイラから選んでビルドしていましたし、RMS は少なくとも彼の最初の開発時には Pastel コンパイラを使っていたと言っています。
C コンパイラが C 言語で書かれているという要件はないことを覚えておいてください。あるプラットフォーム用のコンパイラーは、もともとそのプラットフォームで書かれているという要件はありません (組み込みシステムは、ほとんど常に他のシステムでコンパイルされます)。ですから、自分自身をブートストラップする方法はたくさんあるのです。
この質問には、コンパイラをブートストラップする最初のインスタンスに関連する、いくつかの興味深い微妙な点があります。もしあなたが非常に賢いのであれば、そのブートストラップを利用して、次のことを行うことができます。 信じられないような、素晴らしい、そして恐ろしいことを .
関連
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] なぜGCCはa*a*a*a*aを(a*a*a)*(a*a*a)に最適化しないのでしょうか?
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] g++とgccの違いは何ですか?
-
[解決済み] 8192個の要素にループをかけると、プログラムが遅くなるのはなぜですか?
-
[解決済み] なぜGCCは、速度の代わりにサイズに最適化すると、15-20%速いコードを生成するのですか?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
-
[解決済み】gcc makefileのエラー。"No rule to make target ..." (ターゲットにするルールがありません)
-
[解決済み】GCCを使用して読みやすいアセンブリを作成しますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
C - 添え字の値が配列でもポインタでもベクトルでもないエラー
-
[解決済み] Code::Blocks アプリケーションをコンパイルできない
-
[解決済み] munmap_chunk(): 無効なポインタ
-
[解決済み] ⑭と⑯は何のためにあるのですか?
-
[解決済み] CコードでEOFを表現する?
-
[解決済み] "static const" vs "#define" vs "enum"
-
[解決済み] C言語のコードで「:-!」とは何ですか?
-
[解決済み] 演算子 *, /, +, -, % を使わずに 3 で割る。
-
[解決済み] char s[]とchar *sの違いは何ですか?
-
[解決済み] C 言語の配列へのポインタ/ポインタの配列の曖昧さ解消