次の方法で共有


方法: 確認可能な C++ プロジェクトを作成する (C++/CLI)

Visual C++ アプリケーション ウィザードでは、検証可能なプロジェクトは作成されませんが、プロジェクトを検証可能になるように変換できます。このトピックでは、プロジェクトのプロパティを設定し、Visual C++ プロジェクトを変換するようにプロジェクト ソース ファイルを変更して検証可能なアプリケーションを作成する方法について説明します。

コンパイラとリンカーの設定

既定では、.NET プロジェクトでは、/clr コンパイラ フラグを使用して、x86 ハードウェアを対象とするようにリンカーを設定します。検証可能なコードでは、/clr:safe フラグを使用する必要があります。また、ネイティブなマシン語命令ではなく MSIL を生成するようにリンカーに指示する必要もあります。

コンパイラとリンカーの設定を変更するには

  1. プロジェクトのプロパティ ページを表示します。詳細については、「方法 : プロジェクト プロパティ ページを開く」を参照してください。

  2. [構成プロパティ] ノードの [全般] ページで、[共通言語ランタイム サポート] プロパティを [安全な MSIL 共通言語ランタイム サポート (/clr:safe)] に設定します。

  3. [リンカー] ノードの [詳細] ページで、[CLR イメージ タイプ] プロパティを [安全 IL イメージの強制 (/CLRIMAGETYPE:SAFE)] に設定します。

ネイティブ データ型の削除

ネイティブ データ型は検証可能ではないので、実際に使用されていない場合でも、ネイティブな型を含むすべてのヘッダー ファイルを削除する必要があります。

[!メモ]

次の手順は、Windows フォーム アプリケーション (.NET) プロジェクトおよびコンソール アプリケーション (.NET) プロジェクトに該当します。

ネイティブ データ型への参照を削除するには

  • Stdafx.h ファイルの内容をすべてコメント アウトします。

エントリ ポイントの設定

検証可能なアプリケーションでは C ランタイム ライブラリ (CRT) を使用できないため、これらのアプリケーションは、標準的なエントリ ポイントとして main 関数を呼び出す場合には、CRT に依存できません。つまり、最初にリンカーに呼び出す関数の名前を明示的に指定する必要があります。この場合は、main() や _tmain() ではなく Main() を使用して、CRT 以外のエントリ ポイントを示しますが、エントリ ポイントは明示的に指定する必要があるため、この名前は任意です。

[!メモ]

次の手順は、コンソール アプリケーション (.NET) プロジェクトに該当します。

エントリ ポイントを設定するには

  1. プロジェクトのメインとなる .cpp ファイルで _tmain() を Main() に変更します。

  2. プロジェクトのプロパティ ページを表示します。詳細については、「方法 : プロジェクト プロパティ ページを開く」を参照してください。

  3. [リンカー] ノードの [詳細] ページで、[Entry Point] に、プロパティ値として「Main」と入力します。

参照

関連項目

純粋なコードと検証可能なコード (C++/CLI)