方法 : 確認可能な C++ プロジェクトを作成する
更新 : 2007 年 11 月
Visual C++ アプリケーション ウィザードでは、検証可能なプロジェクトは作成されませんが、プロジェクトを検証可能になるように変換できます。このトピックでは、プロジェクトのプロパティを設定し、Visual C++ プロジェクトを変換するようにプロジェクト ソース ファイルを変更して検証可能なアプリケーションを作成する方法について説明します。
コンパイラとリンカの設定
既定では、.NET プロジェクトでは、/clr コンパイラ フラグを使用して、x86 ハードウェアを対象とするようにリンカを設定します。検証可能なコードでは、/clr:safe フラグを使用する必要があります。また、ネイティブなマシン語命令ではなく MSIL を生成するようにリンカに指示する必要もあります。
コンパイラとリンカの設定を変更するには
プロジェクトのプロパティ ページを表示します。詳細については、「方法 : プロジェクト プロパティ ページを開く」を参照してください。
[構成プロパティ] ノードの [全般] ページで、[共通言語ランタイム サポート] プロパティを [安全な MSIL 共通言語ランタイム サポート (/clr:safe)] に設定します。
[リンカ] ノードの [詳細] ページで、[CLR イメージ タイプ] プロパティを [安全 IL イメージの強制 (/CLRIMAGETYPE:SAFE)] に設定します。
ネイティブ データ型の削除
ネイティブ データ型は検証可能ではないので、実際に使用されていない場合でも、ネイティブな型を含むすべてのヘッダー ファイルを削除する必要があります。
メモ : |
---|
次の手順は、Windows フォーム アプリケーション (.NET) プロジェクトおよびコンソール アプリケーション (.NET) プロジェクトに該当します。 |
ネイティブ データ型への参照を削除するには
- Stdafx.h ファイルの内容をすべてコメント アウトします。
エントリ ポイントの設定
検証可能なアプリケーションでは C ランタイム ライブラリ (CRT) を使用できないため、これらのアプリケーションは、標準的なエントリ ポイントとして main 関数を呼び出す場合には、CRT に依存できません。つまり、最初にリンカに呼び出す関数の名前を明示的に指定する必要があります。この場合は、main() や _tmain() ではなく Main() を使用して、CRT 以外のエントリ ポイントを示しますが、エントリ ポイントは明示的に指定する必要があるため、この名前は任意です。
メモ : |
---|
次の手順は、コンソール アプリケーション (.NET) プロジェクトに該当します。 |
エントリ ポイントを設定するには
プロジェクトのメインとなる .cpp ファイルで _tmain() を Main() に変更します。
プロジェクトのプロパティ ページを表示します。詳細については、「方法 : プロジェクト プロパティ ページを開く」を参照してください。
[リンカ] ノードの [詳細] ページで、[Entry Point] に、プロパティ値として「Main」と入力します。