c# - 创建简单的 c++.net 包装器。一步步

标签 c# .net c++ dll wrapper

我有一个 C++ 项目。我承认我在 C++ 中完全是零。但是我仍然需要编写一个 c++.net 包装器,这样我就可以使用它来处理一个非托管 c++ 库。所以我有什么: 1) 非托管项目的头文件。 2) 非托管项目的库(.dll 和 .lib) 3) 一个空的 C++.NET 项目,我计划将其用作我的 c# 应用程序的包装器

我该如何开始?我什至不知道如何设置对非托管库的引用。

求救

最佳答案

http://www.codeproject.com/KB/mcpp/quickcppcli.aspx#A8

这是大方向。您需要创建 C++/CLI 类库项目,向其中添加 .NET 类(本示例中的StudentWrapper),创建非托管类实例作为托管类成员,并包装每个非托管类函数。使用链接器依赖项列表将非托管库添加到 C++/CLI 项目中,而不是作为引用。在 Project - Properties - Linker 打开 Additional Dependencies 并在其中添加 .lib 名称。

注意:因为我们谈论的是 C++/CLI 包装器,所以没有 PInvoke! PInvoke 用于调用导出函数 (API),而不是类。

关于c# - 创建简单的 c++.net 包装器。一步步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2637571/

相关文章:

.net - 从 .net 调用 R(编程语言)

c++ - 映射中结构的构造函数中的访问键

c++ - opencv错误乘以2 Mat的

c# - 什么是最好的免费的、与 Ajax.NET (System.Web.Extensions 3.5) 兼容的富文本框控件?

c# - Sones GraphDB 查询返回错误

.net - 加密.Net应用程序和程序集

c++ - C++链表数据结构中删除挂起

c# - .Net 程序集安全 - 防止黑客攻击/逆向工程

javascript - Javascript 验证中的正则表达式

c# - 我可以在没有模型绑定(bind)的情况下检查模型状态吗?