条件付き編集とは何ですか?

コンピュータープログラミングでは、条件付きコンパイルでは、ソフトウェアコンパイラまたはソースコードプロセッサが、コアプログラミング言語仕様の一部ではない言語固有の指示に基づいて、特定のコマンドまたはコードブロックを含めるか無視する機能について説明します。プログラムの条件付きコンパイルをトリガーするために使用されるコマンドは、多くの場合、Preprocessorディレクティブと呼ばれますが、コンパイラディレクティブ、条件付きコメント、または条件付き定義としても知られています。使用されているコンパイラまたは言語に応じて、条件付きディレクティブはユーザー定義の変数またはマクロであるか、コンパイラまたはオペレーティングシステムによって設定されたシステム変数である場合もあります。条件付きコンパイルは、ソースファイルを交換または変更することなく、異なる環境またはオペレーティングシステムの下にコンパイルできるように、ソースコードファイルの単一セットを構成するために頻繁に使用されます。

条件付きCompのテストに使用される条件付き定義はイリオンは言語によって異なる場合がありますが、通常、通常のプログラム変数の範囲外のマクロまたは他のメタデータ式です。 Cなどの言語では、変数は通常、前プロセッサによって読み取られるマクロです。ほとんどの場合、マクロは同じソースファイルに存在していても、実際の実行可能プログラムソースコードでアクセスできません。

定義された条件変数をテストするために使用される指令は初歩的であり、IF-Thenステートメントと同じロジックに従います。条件付き編集のために実行できる基本的なテストは、値が定義されていないかどうか、または場合によっては、2つの定義された変数が同等であるかどうかです。変数またはマクロ自体は、一般的に重要性の価値を保持しません。なぜなら、それらを定義する行為は、指令がチェックしているものであるからです。ただし、一部の言語とコンパイラがあります定義された変数の値は、それらがブール状態について評価されている場合に重要です。

コンパイラが条件付きコンピレーションに使用されるディレクティブに遭遇すると、ディレクティブが評価されて、それらが真か偽としてテストされるかどうかを確認します。 Trueの場合、指令に従っているコードは通常どおりコンパイルされます。それ以外の場合、コンパイラは指令に含まれるコードを完全にスキップします。これは、実行可能なプログラムコード自体内の条件付きロジックステートメントとは異なります。これは、ロジックに実行できないコードのブロックがある場合でも、ほとんどの場合解釈およびコンパイルされるからです。条件付きプリプロセッサディレクティブを使用すると、スキップオーバーコードが含まれたり、解釈されたり、コンパイルされたりすることはありません。また、プリプロセッサがすべての条件付き変数と指令を評価したら、コンパイラに方向性を提供することのみを目的としているため、プログラムの残りの部分にコンパイルされないことにも注意する必要があります。

条件付きコンパイルは、ほとんど頻繁に使用されますo特定のオペレーティングシステムまたは環境に固有のコードを含めるか除外します。これは、1つのオペレーティングシステムに存在するライブラリを、ディレクティブがプログラムがそのオペレーティングシステムの下でコンパイルされていると判断した場合、条件付きで含めることができることを意味します。あるいは、ディレクティブを使用して、ユーザー定義の変数に基づいてコードを含めるか除外することもできます。これを行うことができるため、デバッグまたはプロファイリングコードがプログラムの最終バージョンに含まれていないか、コードの個別のコピーを維持することなく、特定の機能を有効または無効にすることができます。

他の言語

この記事は参考になりましたか? フィードバックをお寄せいただきありがとうございます フィードバックをお寄せいただきありがとうございます

どのように我々は助けることができます? どのように我々は助けることができます?