ホームページ >よくある問題 >C言語でソースプログラムをターゲットプログラムに変換するプロセスは何ですか?

C言語でソースプログラムをターゲットプログラムに変換するプロセスは何ですか?

不言
不言オリジナル
2019-03-08 13:33:4625383ブラウズ

C言語でソースプログラムをターゲットプログラムに変換するプロセスは何ですか?

C 言語で ソースプログラムをターゲットプログラムに変換する処理 一般的には コンパイル という処理になります。

C 言語のコンパイル プロセスには 4 つのステップがあります:

1. 前処理: 別のファイルに格納されているソース プログラム (.c ファイル) を集約し、言語内のマクロを処理します。前処理ディレクティブ #include として、インクルードされたファイルを開くようにコンパイラに指示し、そのプログラムを他のプログラムに残し、.i ファイルを生成します。

2. コンパイル: ソース プログラム (.i ファイル) をアセンブラ (.s ファイル) に前処理します。

3. アセンブリ (アセンブラ): アセンブラをリロケータブル (リロケータブル、つまりマシン) に変換します。コード セグメントのコードとファイル内のデータ アドレスはまだ完成していません) このステップにより、ターゲット ファイル (.obj または .o ファイル) が生成されます。

4. リンカー/ローダー: リンクとは、ターゲット ファイルを、個別にコンパイルおよび生成された他のプログラム モジュール (存在する場合) およびシステムによって提供される標準ライブラリ関数と接続して、ランナブルを作成するプロセスを生成することです。実行可能ファイルは、ロード中にメモリ内の適切な場所に各コードとデータを配置します。このステップにより、最終的な実行可能ファイルが生成されます。

以上がC言語でソースプログラムをターゲットプログラムに変換するプロセスは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。