Сборка приложений Linux через Vmware - PullRequest
0 голосов
/ 16 февраля 2010

Раньше я разрабатывал с использованием Visual Studio для Windows ... (C ++)

мы недавно перенесли наше приложение в linux (red-hat), и в настоящее время каждый сотрудник создает свое собственное приложение на собственной виртуальной машине с использованием Vmware. из родной ОС все еще Windows.

Сначала казалось, что сборка с использованием g ++ была быстрее, чем с использованием VS-компилятора, однако, через некоторое время, похоже, он оказался довольно медленным. Это потому, что мы используем Vmware? Есть ли что-то, что мы можем сделать, чтобы ускорить процесс строительства?

Ответы [ 2 ]

2 голосов
/ 16 февраля 2010

Я никогда не замечал, что g ++ был медленнее, чем VS или наоборот, но есть способы заставить g ++ работать намного быстрее.

  • ccache например. Я попробовал это, и это действительно ускоряет компиляцию.

    ccache - это кеш компилятора. Он ускоряет перекомпиляцию кода C / C ++, кэшируя предыдущие компиляции и обнаруживая, когда такая же компиляция выполняется снова

  • Если вы работаете на многоядерном компьютере, вы, вероятно, захотите выполнить многопроцессорную компиляцию, если вы используете make, вы можете сделать make -jX, где X - ваше количество ядер. Обратите внимание, что вам нужно включить многоядерный режим на ваших виртуальных машинах.

  • Отключить оптимизацию компилятора.

Тем не менее, что бы вы ни делали, компиляция на виртуальной машине не будет столь же эффективной, как компиляция на реальной машине.

2 голосов
/ 16 февраля 2010

g ++ не демон скорости, но он работает хорошо. Да, виртуальная машина может иметь нестабильную производительность, особенно при доступе к диску. Вы всегда можете попробовать ccache , чтобы избежать перекомпиляции частей, которые вам не нужны.

Или отключите VMWare (и окна под ним) и сделайте все это в Linux. либо с выделенной коробкой сборки, либо на вашей собственной машине. если вам нужен полнофункциональный графический интерфейс для записи, QtCreator вполне справляется с задачей (нет, он не привязан только к написанию приложений Qt).

...