如何在 64 位 Unix 和 Windows 应用程序之间处理长数据类型?

问题描述 投票:0回答:1

我正在开发一个 C++ 客户端服务器应用程序,其中客户端位于 Windows 上,服务器位于 AIX 上。现有的两个应用程序都是 32 位,我们计划将它们迁移到 64 位。

根据调查,我可以看到 64 位机器 long 数据类型在 AIX 上占用了 8 字节 的内存,而在 Windows 上仍保留 4 字节。服务器和客户端之间应该有很多调用来通过这些长数据类型交换数据

我确信的一件事是,我们不会再在服务器和客户端上跨越这些长变量的范围(2147483647)。

问题:如果我将应用程序迁移到 64 位会有什么问题吗?如果是,我该如何处理这种情况?

我还没有尝试过任何东西......

c++ windows mfc com client-server
1个回答
0
投票

如果我将应用程序迁移到 64 位会有什么问题吗?

  • 是的。由于底层硬件正在更新,应用程序代码可能会以不确定的方式运行。

如果是,我该如何处理这种情况?

  • 尝试将应用程序层包装到 Docker 容器中并部署 Docker 容器。
  • Docker 部署与底层硬件(unix 或 windows)无关,从而导致程序的预期行为。
  • 运行 docker 时,需要指定平台,https://docs.docker.com/build/building/multi-platform/
© www.soinside.com 2019 - 2024. All rights reserved.