如何:创建可验证的 C++ 项目

更新:2007 年 11 月

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),因此无法依赖 CRT 来调用主函数作为标准入口点。这意味着必须显式地向链接器提供最开始要调用的函数的名称。(这种情况下,使用 Main() 而不是 main() 或 _tmain() 来指示非 CRT 入口点,但由于入口点必须显式指定,因此,可为任意名称。)

说明:

下面的过程适用于控制台应用程序 (.NET) 项目。

配置入口点

  1. 在项目的 main .cpp 文件中将 _tmain() 更改为 Main()。

  2. 显示项目属性页。有关更多信息,请参见 如何:打开项目属性页

  3. 在“链接器”节点下的“高级”页上,输入 Main 作为“入口点”属性值。

请参见

参考

纯代码和可验证代码