Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語での条件付きコンパイルとは何ですか?


Cプログラミング言語では、いくつかのディレクティブがプログラムコードの一部の選択的なコンパイルを制御します。それらは次のとおりです-

  • #if
  • #else
  • #elif
  • #endif

#ifの一般的な形式 次のとおりです-

#if constant_expression
   statement sequence
#endif

#elseはCキーワードelseとほとんど同じように機能します。

#elifは「elseif」を意味し、ifelse-ifコンパイルチェーンを確立します。

特に、#ifはコードを「コメントアウト」する代替方法を提供します。

たとえば、

#if 0
   printf("#d", total);
#endif

ここで、コンパイラはprintf( "#d"、total);

を無視します。

#ifdefおよび#ifndef

#ifdefは「定義されている場合」を意味し、#endifで終了します。

#indefは「定義されていない場合」を意味します。

#undef

#undefは、以前に定義された定義を削除します。

#line

#lineは、現在コンパイルされているコードの行番号を含む__LINE__と、コンパイルされているソースファイルの名前を含む文字列である__FILE__の内容を変更します。どちらもコンパイラで事前定義された識別子です。

#pragma

#pragmaディレクティブは、さまざまな命令をコンパイラに与えることができる実装定義のディレクティブです。

以下は、#ifdef、#ifndef、#else、#endifをデモンストレーションするためのCプログラムです

# include <stdio.h>
# define a 10
void main(){
   #ifdef a
   printf("\n Hello I am here..");
   #endif
   #ifndef a
   printf("\n Not defined ");
   #else
   printf("\n R u There ");
   #endif
}

出力

上記のプログラムを実行すると、次の結果が得られます-

Hello I am here..
R u There

  1. C言語のstrcmp()関数とは何ですか?

    Cライブラリ関数intstrcmp(const char * str1、const char * str2) str1が指す文字列を比較します str2が指す文字列へ 。 文字の配列は文字列と呼ばれます。 宣言 以下は配列の宣言です- char stringname [size]; 例-charstring[50];長さ50文字の文字列 初期化 単一文字定数の使用- char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,&ls

  2. C#プログラミングとは何ですか?

    C#は、Microsoftによって開発された最新の汎用オブジェクト指向プログラミング言語です。 C#は、共通言語インフラストラクチャ(CLI)用に設計されています。これは、実行可能コードとランタイム環境で構成されており、さまざまなコンピュータープラットフォームやアーキテクチャでさまざまな高級言語を使用できます。 C#の機能は次のとおりです- ブール条件 自動ガベージコレクション 標準ライブラリ アセンブリのバージョン管理 プロパティとイベント デリゲートとイベント管理 使いやすいジェネリック インデクサー 条件付きコンパイル シンプルなマルチスレッド LINQおよびLambda式 Win