运行 windows linux 集群上的 C++ 代码
running windows C++ code on a linux cluster
我的程序最近在提高精度时出现 bad_alloc
错误。我的猜测是,它需要比我的计算机可以分配的更多的 RAM(实际上需要超过 3GB 的 RAM)。
所以我决定在我们的 linux 集群上尝试它,因为它可以给我更多的内存。它包含一些 gcc 模块。但我不确定如何在其上使用我的 C++ 代码。我可以 运行 集群上的 .exe 还是应该先在 linux 集群上重新编译它?
好吧,如果我理解正确的话,你肯定需要在集群上重新编译你的代码。您已经在 Windows 平台上构建了您的应用程序,因此二进制文件无法在 linux 目标系统上运行。
有一些方法可以在 Linux 上制作 Windows 个可执行文件 运行,例如Wine but usually you want a native Linux executable. Executables have a different file format on Windows (EXE) and on Linux (ELF).
你的选择是
- 在没有其他工具的情况下重新编译代码和运行程序或
- 使用工具,例如Wine,可以在 Linux.
上 运行 Windows 可执行文件
如果您的代码可以在不同的系统上编译取决于您的代码。您是否使用了 Windows 个库?你有没有使用第三方库?您是否使用了编译器扩展?
大多数第三方库通常也可以在 Linux 上使用。对于仅 Windows 的库和编译器扩展,您必须找到解决方法。
我的程序最近在提高精度时出现 bad_alloc
错误。我的猜测是,它需要比我的计算机可以分配的更多的 RAM(实际上需要超过 3GB 的 RAM)。
所以我决定在我们的 linux 集群上尝试它,因为它可以给我更多的内存。它包含一些 gcc 模块。但我不确定如何在其上使用我的 C++ 代码。我可以 运行 集群上的 .exe 还是应该先在 linux 集群上重新编译它?
好吧,如果我理解正确的话,你肯定需要在集群上重新编译你的代码。您已经在 Windows 平台上构建了您的应用程序,因此二进制文件无法在 linux 目标系统上运行。
有一些方法可以在 Linux 上制作 Windows 个可执行文件 运行,例如Wine but usually you want a native Linux executable. Executables have a different file format on Windows (EXE) and on Linux (ELF).
你的选择是
- 在没有其他工具的情况下重新编译代码和运行程序或
- 使用工具,例如Wine,可以在 Linux. 上 运行 Windows 可执行文件
如果您的代码可以在不同的系统上编译取决于您的代码。您是否使用了 Windows 个库?你有没有使用第三方库?您是否使用了编译器扩展?
大多数第三方库通常也可以在 Linux 上使用。对于仅 Windows 的库和编译器扩展,您必须找到解决方法。