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

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));
        }
    }
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cccccc1212

这是c币不是人民币,不要充值

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值