c# - 为 64 位 dll 创建 32 位包装器。这可能吗?

标签 c# c++ 64-bit 32bit-64bit 32-bit

我有几个 x64 的 dll,x86 版本尚未发布。我想在 x86 环境中使用它们。没有办法改变这些因素的任何平台。

我尝试在互联网上搜索,但没有成功。我想要做的是以某种方式创建一个可以与 x64 库进行通信的 x86 库。这有可能吗?如果是这样,怎么办?

最好,包装器采用 C# 代码,但它必须能够访问 C++ dll。 (x64 库是用非托管 C++ 编写的。)

最佳答案

您无法在单个进程中执行此操作。这是因为32位进程只能加载32位模块,64位进程只能加载64位模块。

64 位代码调用 32 位代码(反之亦然)的唯一方法是使用进程外解决方案。例如进程外 COM 服务器。

关于c# - 为 64 位 dll 创建 32 位包装器。这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15969263/

相关文章:

c# - 格式化长日期时间字符串以删除 T 字符

c++ - 在返回引用的函数上使用 __declspec(nothrow)

c# - 使用 ADO 3.5 将数据从 Excel 导入 64 位应用程序

C 代码指针谜题

c++ - IsNan vs value != 64 位 VS2010 上的值

c# - 是否有任何带有 API 的实时视频流编辑开源项目可以满足我的需求?

c# - Java - Java 有类似 C# 的结构自动构造函数的东西吗

C++的cin.width函数解释

c++ - 一个函数可以有两种不同的返回类型吗?

c# - 使用smtp时如何格式化电子邮件中的文本