C++(创建和使用托管程序集)

托管程序集是一种库,您可以创建该库以便高效地重用代码。 这样,就不必在多个程序中重新实现同样的例程,而只需编写这些例程一次,然后在需要该功能的应用程序中引用它们即可。


创建类库项目:

1.      在“文件”菜单上指向“新建”,然后单击“项目”

2.      在“项目类型”窗格中,选择“Visual C++”下的“CLR”

此组中的每个项目类型都将创建一个面向公共语言运行时 (CLR) 的项目。

3.      在“模板”窗格中,选择“类库”

4.      在“名称”框中键入项目的名称,例如,MathFuncsAssembly。 在“解决方案名称”字段中键入解决方案的名称,例如,ManagedAssemblies。

5.      单击“确定”创建项目。

6.      默认情况下,在创建项目时,会将项目设置为使用预编译头。 若要为 MathFuncsAssembly 项目禁用预编译头,请在“解决方案资源管理器”中选择项目,然后在“项目”菜单上,单击“属性”。 依次展开“配置属性”节点和“C/C++”节点,然后选择“预编译头”。 在“创建/使用预编译头”旁边的列表中,选择“不使用预编译头”。 单击“确定”保存这些更改。 

在生成的代码中添加方法Class1是生成的,可以自己换成别的名字,然后在下面添加方法:

namespace clr5 {

	public ref class Class1
	{
	public:
		static double add(double a, double b);
		static double subtract(double a, double b);
	};
}

在clr5.cpp添加:

namespace clr5 {
	
		double Class1::add(double a, double b)
		{
			return a + b;
		}
		double Class1::subtract(double a, double b)
		{
			return a - b;
		}
}

编译成功生成 可供其他程序使用的动态链接库 (DLL),本文生成clr5.dll。


创建引用库的控制台应用程序:一定要把这个测试工程和当前工程创建一起:

下面创建两个解决方法:



1.      在您创建 CLR 控制台应用程序后,向导将生成一个仅向控制台写入“Hello World”的程序。 生成的源文件的名称与您在创建项目时为项目指定的名称相同。 在本示例中,名称为“clr5Test.cpp”。

2.      若要使用在类库中创建的算术例程,必须引用类库。 为此,请在“解决方案资源管理器”中选择 clr5Test 项目,然后在“项目”菜单上,单击“属性”。 在“属性页”对话框中展开“通用属性”节点,选择“框架和引用”,然后单击“添加新引用”。 有关更多信息,请参见“<Projectname> 属性页对话框 ->“通用属性”->“框架和引用

3.      “添加引用”对话框列出了所有可以引用的库。 “.NET”选项卡列出了 .NET Framework 附带的库。 “COM”选项卡列出了计算机上的所有 COM 组件。 “项目”选项卡列出了当前解决方案中的所有项目,以及它们包含的所有库。 在“项目”选项卡上,选择“clr5”,然后单击“确定”


编写代码:

// clr5Test.cpp: 主项目文件。

#include "stdafx.h"

using namespace System;

int main(array<System::String ^> ^args)
{
    Console::WriteLine(L"Hello World");
	double a = 7.4;
	int b = 99;

	Console::WriteLine("a + b = {0}", clr5::Class1::add(a, b));
	Console::WriteLine("a - b = {0}", clr5::Class1::subtract(a,b));
    return 0;
}

编译解决方案,

如果想在这里,直接运行clr5test 解决方案,先要把这个设置为启动项目



运行成功,没有问题








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值