gpt4 book ai didi

c# - 寻找教程或基本信息来帮助我开始在 C# 中为初学者实现 C/C++ API

转载 作者:行者123 更新时间:2023-11-30 18:42:56 26 4
gpt4 key购买 nike

我正处于使用 MonoDevelop 学习 c#/.NET 来完成我的工作的早期阶段。我遇到过一些用 c 或有时用 c++ 开发的 API。我一直在寻找信息来帮助我开始实现用 c 或 c++ 编写的 API,以便我可以将它们用于我的 c# 项目。我现在没有任何具体代码可以向您展示,我需要的是指出正确的方向。

以下是我浏览过的一些地方:

我正在考虑用 C# 实现 c/C++ API。我做了一些研究,但开始时遇到困难。

http://www.codeproject.com/Articles/1285/Calling-API-functions-using-C (一篇有点过时的文章,看起来可行,但似乎没有走得太远。)

http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=219 (一些基础知识,但没有太多关于正在发生的事情的细节。)

在SO上发现了一些东西: C api to C# GUI(这看起来非常好)

https://stackoverflow.com/questions/9747607/c-apivs-2005-integrate-into-c-sharp-vs-2010project(没有给出答案)

talking to C from C#(看起来不错,有一些关于 Pinvoke 的东西)

无论如何,我有点不知所措,可以使用一些指导来帮助我开始。也许这对于菜鸟来说太过分了?

非常感谢任何帮助。干杯

最佳答案

尝试SWIG - 它是一个为多种语言创建 C 和 C++ 代码包装器的工具。

我用过很多次,效果很好。基本上,您只需定义要包装的 C 和 C++ 代码文件/库,SWIG 就会生成相应的 C# 类(和一些样板代码),您可以将其简单地添加到 C# 项目中(当然,您必须编译 C/C++ 部分)并使其成为 DLL)。

例如。你可能有一个包含类的小型 C++ 库

class Foo { public: int myMethod(Bar& bar); }
class Bar { ... }

SWIGing 后,您的 C# 代码将如下所示:

Bar bar = new Bar();
Foo foo = new Foo();
int result = foo(bar);

关于c# - 寻找教程或基本信息来帮助我开始在 C# 中为初学者实现 C/C++ API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13682966/

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