繁体   English   中英

在 linux 集群上运行 windows C++ 代码

[英]running windows C++ code on a linux cluster

我的程序最近在提高精度时遇到了bad_alloc错误。 我的猜测是,它需要的 RAM 比我的计算机可以分配的要多(实际上需要 3GB 以上的 RAM)。 所以我决定在我们的 linux 集群上尝试一下,因为它可以给我更多的 RAM。 它包含一些 gcc 模块。 但我不确定如何在上面使用我的 c++ 代码。 我可以只在集群上运行 my.exe 还是应该先在 linux 集群上重新编译它?

好吧,如果我正确理解了情况,您肯定需要在集群上重新编译您的代码。 您已经在 Windows 平台上构建了您的应用程序,因此二进制文件无法在 linux 目标系统上运行。

有一些方法可以使 Windows 可执行文件在 Linux 上运行,例如Wine ,但通常您需要一个本机 Linux 可执行文件。 可执行文件在 Windows ( EXE ) 和 Linux ( ELF ) 上具有不同的文件格式。

你的选择是

  • 重新编译代码并在没有其他工具的情况下运行程序或
  • 使用可以在 Linux 上运行 Windows 可执行文件的工具,例如 Wine。

您的代码是否可以在不同的系统上编译取决于您的代码。 您是否使用过 Windows 库? 你用过第三方库吗? 您是否使用了编译器扩展?

大多数第三方库通常也可以在 Linux 上使用。 对于仅限 Windows 的库和编译器扩展,您必须找到一种解决方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM