当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

C++和C#编写调用COM组件

    前一阵在工作中做项目的时候,遇到了COM组件的调用和使用问题,当时研究和好一阵,才把中间的环节打通,现在写出来为大家提供方便,这里包含了四个类型:

    1、在VS2005中,C#编写DLL并使用C++调用

    2、在VS2005中C#编写的COM组件,使用VC6.0调用

    3、在VC6.0中编写COM组件,使用VS2005 C#调用

    4、在VC6.0中编写COM组件,使用VC6.0调用

    其中每个类型都写了两个程序,一个为COM组件程序,一个为调用程序

    程序实现:

    1、在VS2005中,C#编写DLL并使用C++调用

    (1)C#编写DLL程序

    建立C#编写的DLL程序AddDll,项目类型为:类库

    程序代码:

 using System;
using System.Collections.Generic;
using System.Text;
namespace AddDll
{
  public class Add
  {
    public int iadd(int a, int b)
    {
      int c = a + b;
      return c;
    }
  }
}

    (2)C++编写调用程序

    建立C++的Win32控制台应用程序UseDll,项目类型为:Win32控制台应用程序

    配置:右键点击解决方案资源管理器中的UseDll,选择“属性”,将公共语言运行库支持设置为“公共语言运行库支持(/clr)”

C++和C#编写调用COM组件

    图一 公共语言运行库设置

    程序代码:

 #include "stdafx.h"
#include "stdio.h"
#using "..debugAddDll.dll"
using namespace AddDll;
int _tmain(int argc, _TCHAR* argv[])
{
    int result;
    Add ^add = gcnew Add();
    result = add->iadd(10,90);
    printf("%d",result);
    scanf("%s");
    return 0;
}

 

共5页 首页 上一页 1 2 3 4 5 下一页 尾页 跳转到
相关内容
赞助商链接