前処理は、何をしましたか?

はじめに:我々は、すべてのプログラムを実行するために、あなたはいくつかの段階を経る必要があることを知っている:前処理、コンパイラ、アセンブラ、リンカ、その後、実行文書を生成し、私の前にコンパイルするプロセスについて書かれた記事では、今日書くために何をしました見て、どのような前処理工程を行います。

 =================テキスト========================

次のように前処理プロセスは、次のとおりです。

1. 適切な位置へのPSの#includeファイルを拡大するヘッダ

2. マクロの展開は、ps、すべてのマクロを拡張します。#defineを削除します

3. このよう事前にコンパイルされた命令として条件付きコンパイルPS条件:#、#場合のIFDEF、#の他に

4. コメントPS // / ** /コンテンツを削除します

5. ファイル名と行番号の識別を追加します。

6. 予約#pragrma psコマンドは、特定のアクションを実行するようにコンパイラーに指示し

実際には、最終的な分析言葉で、それはテキストを拡大するマクロコマンドを交換することです。

Linuxのソースコード、マクロ、条件付きコンパイルの使用の良い取引のように、ヘッダファイルが含まれています。実際には、ない理由なしに、プログラミング、プログラムの実行の高効率でマクロを使用して簡単にできます。利点は、条件付きコンパイルは、プラットフォーム間で、より互換性があります。ヘッダファイルは、モジュールのアイデアを具現含まれています。

簡単に書き込みされ、次のプリコンパイルされたの効果をテストするための小さなプログラム

 

 

 

上記プログラムは、ヘッダファイル、マクロ定義、コンパイル済み、および#pragma指令ファイルのGCC -E test.cの> example.i .Iリダイレクトが含まれており、次のようにプリコンパイルされたコードファイルを開きます。

 

 

その後、出力は次のように:

test.cの:22:9:注意します。#pragmaメッセージ:テスト・デモ

 #pragmaメッセージ( "テストデモ\ nを")

 

ジュニアパートナーは、アクション・タイム・コンパイル戻って、コードを確認するようにコンパイラに指示します。これは、行われている何の#pragmaメッセージ(「テストデモを\ n」)が見つかりません。

 

概要:試運転プロセスが有用である後に実際には前処理が行われる作業が固定され、比較的簡単ですが、この記事では、単純にラフな分析前処理工程です。

 

オールド・9人の・アカデミーのメンバーが作成します

著者:ハッピーミラー

おすすめ

転載: www.cnblogs.com/ljxt/p/11579806.html