首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C/C++到C#转换器或仿真器

C/C++到C#转换器或仿真器
EN

Stack Overflow用户
提问于 2012-07-02 12:42:27
回答 2查看 5.6K关注 0票数 4

假设我有一些可移植的、非可视库的C代码。代码主要依赖于CRT (没有QT/DirectX/WinAPI等依赖项)。

有办法在C#应用程序中使用这段代码吗?我了解托管C++,这是而不是,这是我可以接受的一种方式。

我想到了一个C/C++到C#转换器,可以用于自动翻译(我不需要一个可读的输出,一个工作的输出就足够了)或一个模拟器,我可以使用它来执行编译后的C/C++代码。

您知道有什么可以帮助我使用C#代码中现有的C/C++代码吗?

编辑:

P/Invoke也不是一种可接受的方式。以及调用外部EXE或使用COM/ActiveX。我需要将C和C#代码合并到一个托管DLL或EXE中的东西。

现有的C代码是一个库(.lib),而不是EXE。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-02 13:11:42

为什么不将C++临时编译为托管C++,以获得.net程序集,然后使用Reflector将其分解为纯C#?

票数 7
EN

Stack Overflow用户

发布于 2012-07-02 12:53:09

我认为在不将代码转换为C#的情况下直接从DLL中使用这些方法是最简单的。这很好,一个缺点是您必须为不同的平台发布多个二进制文件。从Dll导入函数非常容易。

代码语言:javascript
复制
[DllImport("kernel32.dll")]
public static extern IntPtr GetProcAddress (IntPtr hModule, string procedureName);

我不认为在一个DLL中同时包含C和C#代码是可行的,如果不对前者进行转换。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11293913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档