用C++写COM组件并用C#调用

来源:互联网 发布:杰刚队长知乎 编辑:程序博客网 时间:2024/06/04 22:06

1、以管理员身份打开vs,特别重要,否则会不成功

这里写图片描述

2、新建一个c++ ATL项目,如图,全部为默认设置
这里写图片描述

3、添加一个ATL简单对象,从添加类中添加,如图
这里写图片描述
这里写图片描述

4、添加一个方法,注意是在类视图中添加,并按照下图设置,其余部分均为默认
这里写图片描述
这里写图片描述

5、然后在test.cpp文件中添加代码,生成。一个com组件就做出来了。

STDMETHODIMP Ctest::Add(LONG a, LONG b, LONG* c){    // TODO: 在此添加实现代码    *c = a + b;    return S_OK;}

这里写图片描述

6、在c#中添加引用,生成的dll文件路径如图。
这里写图片描述
引用后为:

7、添加代码并运行

using System;using System.Collections.Generic;using System.Linq;using System.Runtime.InteropServices;using System.Text;using ATLProject1Lib;namespace csharpMatlab{    class Program    {        static void Main(string[] args)        {            test a = new test();            Console.WriteLine(a.Add(4, 7));        }    }}

这里写图片描述

1 0
原创粉丝点击