C++调用C#

原创 2007年09月18日 23:01:00

C++调用C#,网络上有多种说法。

我的期望是C++不要采用/clr选项进行编译,因此,采用混合的方式就不可以了。

如下面的这种方式就不可以:

//C#:   创建C# DLL
namespace CSLib
{
    public class Class1
    {
        private string name;

        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = "Your Name: " + value;
            }
        }
    }
}

 

//  C++ console project.
#using "../debug/CSLib.dll"
using namespace CSLib;

int _tmain(int argc, _TCHAR* argv[])
{
 Class1 ^c = gcnew Class1();

 c->Name = "zzj";

 printf("%s/n", c->Name);

 return 0;
}
 这段代码就必须用/clr开关打开才可以进行编译。

剩下的方法就只有COM方式了。

http://www.codeproject.com/csharp/ManagedCOM.asp中有很好的讲解。

其中提到的GUID工具在VS2005的Tools菜单下就有。sn通过CMD也可以执行。

不过先需要设置路径,其bat文件为C:/Program Files/Microsoft Visual Studio 8/Common7/Tools/vsvars32.bat

顺利搞定!

问题:如果不是strong-name,会有什么问题吗?

C++实现调用C#(CLI)方法

http://blog.csdn.net/biyusr/article/details/7575720 把C#编译成DLL或者Axtive控件,再由C调用 ! 比如使用C++调用C#的DLL S...
  • kenkao
  • kenkao
  • 2015年11月11日 08:44
  • 2715

利用C++调用C#生成的类库

上一篇文章是写了利用C#成功实现Pdf转换成图片,这次就主要讨论怎样利用VC++ 2008来调用。下面有一些参考网站:http://blog.csdn.net/suoxd123/archive/201...
  • huan_xiao
  • huan_xiao
  • 2011年03月14日 21:51
  • 7915

教你快速在c#中调用C++代码(函数)

之前写过一段C++的代码,想给他用C#写个界面,也就是想让这段代码在C#中可以运行。看了百度的很多方法,都说是封装成dll调用,但是按照步骤来总会出现各种错误,像以下的这种: 并且迟迟不能解决,今天...
  • NK_test
  • NK_test
  • 2015年11月11日 19:30
  • 5935

C++调用C#写的动态库

使用C++调用C#的DLLSwfDotNet是C#编写的,作者的C#水平,真是令我佩服。这是个特别好的读写Swf文件的库。但是,我要用在C++项目中,怎么让C++调用C#的DLL呢。今天一上午都在琢磨...
  • aktsoso
  • aktsoso
  • 2010年08月04日 19:44
  • 2685

C#调用C++COM组件

前一阵在工作中做项目的时候,遇到了COM组件的调用和使用问题,当时研究和好一阵,才把中间的环节打通,现在写出来为大家提供方便,这里包含了四个类型: 1、在VS2005中,C#编写DLL并使用C++调...
  • Sayesan
  • Sayesan
  • 2013年11月27日 15:01
  • 641

C#调用C++代码(CSharp Platform Invoke)

在.Net开发的过程中,有时候我们需要从C#中调用C++开发的代码,原因之一就是集成第三方的程序库(C++)写的,另外一个原因就是为了速度,将一些功能在C或C++里面实现。C#调用C++的功能有两种方...
  • qq_32782059
  • qq_32782059
  • 2017年08月01日 08:59
  • 357

C#调用C++ dll的两种方法

静态调用:调用方式简单,可满足通常的要求;被调用的dll会在程序加载时一起加载到内存中;如果在程序文件夹中没有dll文件,程序会报错。 动态调用:调用方式复杂,需借助于API函数来完成dll的加载,卸...
  • tiana0
  • tiana0
  • 2015年10月24日 16:57
  • 6073

本地C++如何调用C#类库

调用说明 方式一、Clr/c++语言调用C#,直接添加引用,using namespace **,即可。 方式二、Native C++调用C#,本说明是以Com组件的方式来使用的,步骤也比较繁琐。...
  • yz960611
  • yz960611
  • 2017年07月19日 21:20
  • 359

C++ 调用C#工程的 dll , 互相调用方法

很多时候在项目中需要通过C++调用C#的dll,或者反过来条用。 首先明白一个前提:C#是托管型代码。C++是非托管型代码。 托管型代码的对象在托管堆上分配内存,创建的对象由虚拟机托管。(C# ...
  • xiaominggunchuqu
  • xiaominggunchuqu
  • 2018年01月10日 15:18
  • 155

C++如何调用C#编写的DLL

由于C#编绎出来的DLL不是计算机所能直接识别的二进制指令码,需要CLS进行再解释,说到这,我想有些朋友应该知道C#项目需要引用C++编写的DLL时,可以直接引用DLLMPORT来实现调用,而反向的话...
  • jiang1986829
  • jiang1986829
  • 2015年09月18日 11:05
  • 8738
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++调用C#
举报原因:
原因补充:

(最多只允许输入30个字)