gpt4 book ai didi

c# - 将 C# 运行时代码编译为 native 汇编代码(可从 C++ 应用程序调用)的 .dll 的方法?

转载 作者:太空狗 更新时间:2023-10-29 21:44:58 24 4
gpt4 key购买 nike

我和我的 friend 已经将一个 C# 运行时库放在一起,我们希望将其编译或转换为本地汇编代码中的 .dll 并从 C++ 应用程序调用。

我怀疑我们可能不是第一个着手进行此类工作的人。所以我环顾四周,得出以下结论:

  1. How to migrate from C++ COM to C++CLI
  2. Managed C++ wrappers for legacy C++ libraries
  3. Writing a managed wrapper for unmanaged (C++) code - custom types/structs
  4. how to convert C# to C++
  5. http://bytes.com/topic/c-sharp/answers/268197-convert-c-form-c-net

但是,这些链接都在谈论如何将 C++ 代码移植到 CLI 或 C#。没有提及如何将 C# 托管代码移植到可从 C++ 应用程序调用的 native 程序集中的独立 .dll 库。

有什么想法吗?

最好的问候,

博德

最佳答案

本质上,您需要一个围绕托管 库的非托管 包装器,这与更常见的问题相反。

基本思想是创建一个 C++ 库,该库具有非托管导出( native C 样式函数)但在内部使用托管 C++ 与您的库进行交互。

请注意,跨层编码非托管数据可能很棘手 - 希望您只需要使用非常基本的类型(字符串和数字)。

另请注意,客户端需要安装适当的 .NET 框架 - 包装库无法绕过该要求。

以下是一些可能有帮助的链接:

Calling a C# function from unmanaged C++

Using managed code in an unmanaged application

关于c# - 将 C# 运行时代码编译为 native 汇编代码(可从 C++ 应用程序调用)的 .dll 的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18743049/

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