c – 32位应用程序中的64位功能?

c – 32位应用程序中的64位功能?,第1张

概述我有一个32位应用程序,我计划在64位 Windows 7上运行. 在此阶段,由于依赖于第三方功能,我无法将整个应用程序转换为64位. 但是,我想在我的SSE优化中访问xmm9-xmm15寄存器,并且在执行我的应用程序时也使用64位cpus提供的附加寄存器. 这有可能用一些编译器标志来实现吗? 在我看来,最好的方法是将程序划分为多个可执行文件.编译为64位的EXE可以与另一个32位EXE通信,使用 我有一个32位应用程序,我计划在64位 Windows 7上运行.

在此阶段,由于依赖于第三方功能,我无法将整个应用程序转换为64位.

但是,我想在我的SSE优化中访问xmm9-xmm15寄存器,并且在执行我的应用程序时也使用64位cpus提供的附加寄存器.

这有可能用一些编译器标志来实现吗?

解决方法 在我看来,最好的方法是将程序划分为多个可执行文件.编译为64位的EXE可以与另一个32位EXE通信,使用您需要的32位第三方DLL.您将在通信中遇到一些开销,并且必须实现依赖进程的启动/停止,但您将拥有清晰的程序体系结构.

如果您开发本机C应用程序,则可以将第二个EXE实现为COM进程外对象(LocalServer甚至LocalService).您可以考虑在C#中实现COM服务器的方法(参见here).有时这种方式可以简化实现,您可以使用.NET和本机编程的优点.

总结

以上是内存溢出为你收集整理的c – 32位应用程序中的64位功能?全部内容,希望文章能够帮你解决c – 32位应用程序中的64位功能?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1253261.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存