加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 03:08:15 所属栏目:百科 来源:网络整理
导读:我有一个32位应用程序,我计划在64位 Windows 7上运行. 在此阶段,由于依赖于第三方功能,我无法将整个应用程序转换为64位. 但是,我想在我的SSE优化中访问xmm9-xmm15寄存器,并且在执行我的应用程序时也使用64位cpus提供的附加寄存器. 这有可能用一些编译器标志
我有一个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和本机编程的优点.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读