0

以前はWindowsでVisualStudioを使用して開発していました...(C ++)

最近、アプリをLinux(red-hat)に移行しました。現在、各従業員は、Vmwareを使用して独自の仮想マシンである独自のアプリを構築しています。ネイティブOSはまだWindowsです。

最初は、g ++を使用したビルドの方がVSコンパイラを使用した場合よりも高速であるように見えましたが、しばらくすると、かなり遅いように見えました。Vmwareを使用しているからですか?構築プロセスを加速するために私たちにできることはありますか?

4

2 に答える 2

2

g ++はスピードデーモンではありませんが、十分に機能します。はい、VMは、特にディスクアクセスで不安定なパフォーマンスを示す可能性があります。必要のない部分の再コンパイルを回避するために、いつでもccacheを試すことができます。

または、VMWare(およびその下のWindows)を捨てて、すべてLinuxで実行します。専用のビルドボックスを使用するか、自分のマシンで使用します。書き込み用にフル機能のGUIが必要な場合、 QtCreatorはそのタスクに完全に対応します(いいえ、Qtアプリケーションの書き込みだけに縛られているわけではありません)。

于 2010-02-16T11:38:52.343 に答える
2

g ++がVSまたはその逆よりも遅いことに気づいたことはありませんが、g++をはるかに高速にする方法があります。

  • たとえば、ccache 。私はそれを試しました、そしてそれは本当にコンパイルをスピードアップします。

    ccacheはコンパイラキャッシュです。以前のコンパイルをキャッシュし、同じコンパイルが再度実行されていることを検出することにより、C /C++コードの再コンパイルを高速化します

  • マルチコアマシンで作業している場合は、おそらくマルチプロセスコンパイルを実行する必要があります。makeを使用している場合はmake -jX、Xがコアの数である場合に実行できます。仮想マシンでマルチコアを有効にする必要があることに注意してください。

  • コンパイラの最適化を無効にします。

とはいえ、何をするにしても、仮想マシンでのコンパイルは、実際のマシンでのコンパイルほど効率的ではありません。

于 2010-02-16T11:50:13.097 に答える