####◆プリプロセッサとは
・コンパイルの直前に行う特定の処理をプリプロセッサ(プリプロセス命令)という。
簡単に言えば、if文のような処理を「#if シンボル名 ~ #endif」のように使用する。
◇プリプロセッサは下記のように利用する。
#define PreTest1
#define SampleQiita2
using System;
class program
{
static void Main(string[] args)
{
#if PreTest1
Console.WriteLine("#PreTest1がシンボルとして定義されています。");
#elif PreTest2
Console.WriteLine("#PreTest2がシンボルとして定義されています。");
#else
Console.WriteLine("OreTestのシンボルは何も定義されていません。");
#endif
#if SampleQiita1
Console.WriteLine("#SampleQiita1がシンボルとして定義されています。");
#elif SampleQiita2
Console.WriteLine("#SampleQiita2がシンボルとして定義されています。");
#else
Console.WriteLine("SampleQiitaシンボルは何も定義されていません。");
#endif
}
}
実行結果
#PreTest1がシンボルとして定義されています。
#SampleQiita2がシンボルとして定義されています。
■#defineは必ず、コードの先頭(一番上)に記載する。1
■#define ○○ の箇所を指定したいシンボル名に変更すると該当箇所が選択され、
それ以外はグレーアウトする^2
##主に使用されているプリプロセッサコード一覧 ★#define ★#if ★#else ★#elif ★#undef ★#warning ★#error ★#line ★#region ★#endregion ★#pragma ★#pragma warning ★#pragma checksum
##\#defineを使用せずシンボル定義をする方法
Visual Studio 20105の上部タブの「プロジェクト」→「[プロジェクト名]のプロパティ」→「ビルド」→「全般」→「条件付きコンパイルシンボル(Y)」
(シンボルはスペース区切りにすることによって複数選択可能)
-
それ以外に記載するとエラーが発生するので注意 ↩