gpt4 book ai didi

c# - 从 C# 调用 C++ DLL

转载 作者:太空狗 更新时间:2023-10-29 20:29:42 26 4
gpt4 key购买 nike

**unmanaged class**

这是非托管类声明

#ifdef EXPORT_CLASS
#define DLL_EXPORT __declspec(dllexport)
#else
#define DLL_EXPORT __declspec(dllimport)
#endif
public class DLL_EXPORT cppclass
{
private:
string x;
public:
cppclass();
~cppclass();
string native();
};


**UNMANAGED CLASS DEFINITION**

这是非托管类定义

 cppclass::cppclass()
{
x="hello";
};
cppclass::~cppclass()
{
};
string cppclass::native()
{
return x;
};

**MANAGED CLASS**

这是托管类声明

public __gc class Mclass
{
//private:
public:
cppclass * obj;
public:
Mclass();
~Mclass();
string native();

};

**MANAGED CLASS DEFINITION**

//这是托管类定义

#include"managed.h"
Mclass::Mclass()
{
obj=new cppclass();
};
Mclass::~Mclass()
{
delete obj;
};
string Mclass::native()
{
return obj->native();
};

这四个文件都在一个工程中,做成一个dll,现在如何在c#工程中使用

最佳答案

在您的 C# 项目中添加对 DLL 的引用,并像使用任何 .NET 类型一样简单地使用它。您可能在 DLL 中找不到任何导出类型,因为它们必须是公开的。

编辑:顺便说一句。我希望您谈论的是 C++/CLI,而不是 C++/CLI 之前的托管 C++。

关于c# - 从 C# 调用 C++ DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9210474/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com