выполнение кода windows C ++ в кластере linux - PullRequest
0 голосов
/ 16 июня 2020

Моя программа недавно получила ошибку bad_alloc при увеличении точности. Я предполагаю, что ему нужно больше ОЗУ, чем мой компьютер может ему назначить (фактически требуется более 3 ГБ ОЗУ). Поэтому я решил попробовать его на нашем кластере linux, так как он может дать мне намного больше оперативной памяти. Он содержит несколько модулей g cc. Но я не уверен, как использовать на нем свой код на C ++. Могу ли я просто запустить свой .exe в кластере или сначала перекомпилировать его в кластере linux?

Ответы [ 2 ]

1 голос
/ 16 июня 2020

Что ж, вам обязательно нужно перекомпилировать код на кластере, если я правильно понял ситуацию. Вы создали свое приложение на платформе Windows, поэтому двоичный файл не может работать в целевой системе linux.

0 голосов
/ 16 июня 2020

Есть способы заставить исполняемые файлы Windows работать на Linux, например, Wine , но обычно вам нужен собственный исполняемый файл Linux. Исполняемые файлы имеют другой формат файлов на Windows ( EXE ) и Linux ( ELF ).

Возможные варианты:

  • , чтобы перекомпилировать код и запустить программу без других инструментов или
  • , чтобы использовать инструмент, например Wine, который может запускать Windows исполняемые файлы на Linux.

Если ваш код может быть скомпилирован в другой системе, в зависимости от вашего кода. Вы использовали Windows библиотеки? Вы использовали сторонние библиотеки? Вы использовали расширения компилятора?

Большинство сторонних библиотек обычно также можно использовать на Linux. Для Windows библиотек и расширений компилятора вам нужно найти обходной путь.

...