gpt4 book ai didi

c++ - Windows x64 上 32 位和 64 位应用程序之间的进程间通信

转载 作者:太空狗 更新时间:2023-10-29 19:45:11 25 4
gpt4 key购买 nike

我们希望支持一些最近停产的硬件。硬件驱动程序是一个普通的 32 位 C DLL。我们没有源代码,并且(出于法律原因)对驱动程序的反编译或逆向工程不感兴趣。

硬件快速发送大量数据,因此通信协议(protocol)需要非常高效。

我们的软件是 native 64 位 C++ 应用程序,但我们希望通过 32 位进程访问硬件。 32 位和 64 位应用程序相互通信的高效、优雅的方式是什么(理想情况下,不涉及发明新协议(protocol))?

解决方案应该是 C/C++。

更新:一些受访者要求澄清这是用户模式还是内核模式驱动程序。幸运的是,它是一个用户模式驱动程序。

最佳答案

如果这是一个真正的驱动程序(内核模式),你就是 SOL。 Vista x64 不允许安装未签名的驱动程序。这只是一个用户模式 ​​DLL,您可以使用任何标准 IPC 机制来修复。管道、套接字、进程外 COM,大致按此顺序。这一切都以总线速度运行,因此只要您可以缓冲足够的数据,上下文切换开销就不会造成太大伤害。

关于c++ - Windows x64 上 32 位和 64 位应用程序之间的进程间通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/505647/

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