最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

c#怎么调用c++的类和函数

来源:动视网 责编:小OO 时间:2024-12-05 10:15:37
文档

c#怎么调用c++的类和函数

在尝试过程中,遇到了编译警告C4819,提示该文件包含不能在当前代码页中表示的字符,需要将文件保存为Unicode格式。这让我意识到自己对C++/CLI语法的理解还不透彻。下面提供了一个简单的示例,创建一个C# DLL,代码如下:namespace CSLib {。public class Class1 {。private string name。public string Name {。get { return name;}。set { name = ";Your Name: ";+ value;}。};}};在C++客户程序中,创建一个控制台应用,代码如下:#using ";..\;debug\;CSLib.dll"。
推荐度:
导读在尝试过程中,遇到了编译警告C4819,提示该文件包含不能在当前代码页中表示的字符,需要将文件保存为Unicode格式。这让我意识到自己对C++/CLI语法的理解还不透彻。下面提供了一个简单的示例,创建一个C# DLL,代码如下:namespace CSLib {。public class Class1 {。private string name。public string Name {。get { return name;}。set { name = ";Your Name: ";+ value;}。};}};在C++客户程序中,创建一个控制台应用,代码如下:#using ";..\;debug\;CSLib.dll"。


在C++项目中调用C#的DLL,需要将C#编译成DLL,再由C++进行调用。我最近遇到一个问题,需要在C++项目中使用SwfDotNet库,这是一个由C#编写的读写Swf文件的库,但如何让C++调用C#的DLL却让我费尽心思。

在尝试过程中,遇到了编译警告C4819,提示该文件包含不能在当前代码页中表示的字符,需要将文件保存为Unicode格式。这让我意识到自己对C++/CLI语法的理解还不透彻。

下面提供了一个简单的示例,创建一个C# DLL,代码如下:

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

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

需要注意的是,要正确地引用C# DLL,应该使用#using而不是#include。我就是因为误用了后者,浪费了整整一个上午。另外,别忘了使用using namespace CSLib;以及使用C++/clr语法,采用正确的访问托管对象,即:使用帽子'^',而不是星星'*'。

通过这个简单的示例,我发现了解决问题的关键在于对C++/CLI语法的正确理解和应用。

文档

c#怎么调用c++的类和函数

在尝试过程中,遇到了编译警告C4819,提示该文件包含不能在当前代码页中表示的字符,需要将文件保存为Unicode格式。这让我意识到自己对C++/CLI语法的理解还不透彻。下面提供了一个简单的示例,创建一个C# DLL,代码如下:namespace CSLib {。public class Class1 {。private string name。public string Name {。get { return name;}。set { name = ";Your Name: ";+ value;}。};}};在C++客户程序中,创建一个控制台应用,代码如下:#using ";..\;debug\;CSLib.dll"。
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top