_cuclife.com
当前位置:cuclife.com > IT > ASP.NET >

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)”

  程序代码:


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

文章来源:网络整理  本站编辑:兰特
上一篇:使用飞信VMDotNet使C#程序脱离.NET FRAMEWORK
下一篇:ASP.NET数据库操作代码小结:SQL Server篇
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)