◆プリプロセッサとは
・コンパイルの直前に行う特定の処理をプリプロセッサ(プリプロセス命令)という。
簡単に言えば、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)」
(シンボルはスペース区切りにすることによって複数選択可能)
-
それ以外に記載するとエラーが発生するので注意 ↩