C++调用C#的DLL程序实现方法

 更新时间:2021年09月10日 11:46:58   作者:work hard work smart  
本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,具有一定的参考价值,下面就让我们一起来学习吧

把C#编译成DLL或者Axtive控件,再由C调用!比如使用C++调用C#的DLL。

SwfDotNet是.net下输出flash的类库。SwfDotNet是C#编写的,作者的C#水平,真是令我佩服。这是个特别好的读写Swf文件的库。但是,我要用在C++项目中,怎么让C++调用C#的DLL呢。今天一上午都在琢磨这个问题,耽误了很多时间,原因是编译是出现:warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失。

接着就是一大堆的0x01等等。自己做了个Sample,仔细分析发现还是自己没有搞清楚。正确的操作如下:

1 创建C# DLL,需要指定应用类型为“类库”,代码:

namespace CSLib 
{ 
public class Class1 
{ 
private string name; 
public string Name 
{ 
get 
{ 
return name; 
} 
set 
{ 
name = \"Your Name: \" + value; 
} 
} 
} 
} 

2 C++客户程序,是个控制台应用,代码: #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; 
} 

3 注意事项:

1 使用#using引用C# DLL,而不是#include.我就是想当然的使用了后者,所以浪费了一上午的时间;

2 别忘了using namespace CSLib;

3 使用C++/clr语法,采用正确的访问托管对象,即:使用帽子‘^',而不是星星‘*'。

以上是怎么调用的总结和几点注意事项,对于C++调用C#的DLL程序可能还有其他的方法,欢迎大家进行讨论。

相关文章

  • C#运算符重载用法实例分析

    C#运算符重载用法实例分析

    这篇文章主要介绍了C#运算符重载用法,实例分析了C#中运算符重载的基本实现与使用技巧,需要的朋友可以参考下
    2015-07-07
  • c#使用正则表达式匹配字符串验证URL示例

    c#使用正则表达式匹配字符串验证URL示例

    这篇文章主要介绍了c#使用正则表达式的小示例,匹配字符串、验证URL,大家参考使用吧
    2013-12-12
  • C#中系统时间和UNIX时间戳互相转换

    C#中系统时间和UNIX时间戳互相转换

    本文主要介绍C#中系统时间和UNIX时间戳相互转换的方法,大家可以直接拿去用,希望有用。
    2016-05-05
  • DevExpress的DateEdit设置显示日期和时间的方法

    DevExpress的DateEdit设置显示日期和时间的方法

    本文主要介绍了DevExpress的DateEdit设置显示日期和时间的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 如何使用C# 捕获进程输出

    如何使用C# 捕获进程输出

    这篇文章主要介绍了如何使用C# 捕获进程输出,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2020-08-08
  • C#实现简单俄罗斯方块

    C#实现简单俄罗斯方块

    这篇文章主要为大家详细介绍了C#实现简单俄罗斯方块,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • c# 使用谷歌身份验证GoogleAuthenticator的示例

    c# 使用谷歌身份验证GoogleAuthenticator的示例

    这篇文章主要介绍了c# 使用谷歌身份验证GoogleAuthenticator的示例,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2021-01-01
  • Unity接入高德开放API实现IP定位

    Unity接入高德开放API实现IP定位

    这篇文章主要为大家介绍了Unity如何接入高德开放API实现IP定位功能,文中的示例代码讲解详细,对我们学习或工作有一定参考价值,需要的可以参考一下
    2022-04-04
  • C#中is与as的区别分析

    C#中is与as的区别分析

    这篇文章主要介绍了C#中is与as的区别,较为详细的分析了is与as的原理与特性及用法区别,具有很好的学习借鉴价值,需要的朋友可以参考下
    2014-10-10
  • 使用C#给PDF文档添加注释的实现代码

    使用C#给PDF文档添加注释的实现代码

    本文将实例讲述C#中如何使用免费组件给PDF文档添加文本注释,包括自由文本注释。自由文本注释能允许我们自定义它的风格和外观,非常具有实用价值
    2017-01-01

最新评论