問題タブ [compilation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache-flex - Flex Builder 3でコンパイル時間を短縮するためのアドバイスはありますか?
私はMacでFlexBuilder3を実行していますが、プロジェクトが大きくなるにつれて、コンパイル時間がますます長くなります。私はいくつかのSWCを使用していて、かなりの量のコードがありますが、毎日ビルドしてクラッシュするのに数分かかるべきではありませんか?
c++ - リンク エラーをデバッグするためのベスト プラクティス
C++ でプロジェクトをビルドするとき、特に他の人のコードを拾うときは、リンク エラーのデバッグが難しいことに気付きました。リンクエラーをデバッグして修正するために人々はどのような戦略を使用しますか?
.net - 複数のバージョンの .net フレームワークをターゲットにする
理論的には、.net フレームワークのどのバージョンに対してもコンパイルできるコードがあるとします。必要に応じて、「Hello World」と考えてください。
ただし、実際にコードをコンパイルすると、特定のバージョンに対して実行される実行可能ファイルが得られます。
コンパイルされたexeが見つかったバージョンに対して実行されるように調整する方法はありますか? 答えはノーだと強く思いますが、間違っていることが証明されれば幸いです...
編集:さて、私たちの階段の下に行きます。後のフレームワークが、以前のバージョンでコンパイルされた exe を問題なく実行できるとは思いもしませんでした。すべての応答に感謝します!
.net - .NET アプリケーションをネイティブ コードにコンパイルする方法
.NET フレームワークが利用できないマシンで .NET アプリケーションを実行したいとしましょう。アプリケーションをネイティブ コードにコンパイルする方法はありますか?
c# - Visual Studio 2005 でのコンパイル時間が非常に遅い
コンパイル時間が非常に遅くなり、デュアル コア 2GHz、2G RAM マシンでは 20 分以上かかることがあります。
これの多くは、70 以上のプロジェクトに成長したソリューションのサイズと、多数のファイルがある場合にそれ自体がボトルネックとなる VSS によるものです。(残念ながらVSSを交換することはオプションではないので、これがVSS bashに陥ることは望ましくありません)
統合プロジェクトを検討しています。また、アプリケーションの各要素の関心をより分離し、コンパイル時間を短縮するために、複数のソリューションを用意することも検討しています。物事を同期させようとすると、これは DLL 地獄になることがわかります。
他のチームがこのスケーリングの問題にどのように対処したかを知りたいです。コード ベースがクリティカル マスに達し、ステータス バーがコンパイル メッセージを配信するのを見て半日を無駄にしているとき、あなたは何をしますか。
UPDATE これはC#ソリューションであることに言及するのを怠りました。すべての C++ の提案に感謝しますが、ヘッダーについて心配する必要がなくなってから数年が経ちました。
編集:
これまでに役立った素敵な提案 (以下に他に素敵な提案がないと言っているのではなく、役立ったものだけです)
- 新しい 3 GHz ラップトップ - 管理者に文句を言うと、失われた使用率のパワーが驚異的に機能します
- コンパイル中にアンチウイルスを無効にする
- コンパイル中に VSS (実際にはネットワーク) から「切断」 - VS-VSS 統合を完全に削除し、VSS UI の使用に固執する可能性があります。
コンパイルをいじるわけではありませんが、すべてのビットが役立ちます。
Orion は、ジェネリックにも効果がある可能性があるとコメントで言及しました。私のテストでは、最小限のパフォーマンス ヒットがあるように見えますが、十分に高いとは言えません。ディスク アクティビティが原因で、コンパイル時間が一定しない場合があります。時間の制限により、私のテストには、ライブ システムに表示されるほど多くのジェネリックまたはコードが含まれていなかったため、蓄積される可能性があります。コンパイル時のパフォーマンスのためだけに、使用されるはずの場所でジェネリックを使用することを避けません
回避策
新しいソリューションでアプリケーションの新しい領域を構築し、必要に応じて最新の dll をインポートし、満足のいくものになったら、それらをより大きなソリューションに統合する方法をテストしています。
また、作業が必要な領域をカプセル化するだけの一時的なソリューションを作成し、コードを再統合した後にそれらを破棄することにより、既存のコードと同じようにすることもできます。このコードを再統合するのにかかる時間と、開発中に Rip Van Winkle のような迅速な再コンパイルを経験しないことで得られる時間とを比較検討する必要があります。
c# - ASP.Net でのプリコンパイル時間と起動時間
ASP.Net 2.0 で (比較的小さな) Web サイトを開発しています。また、nAnt を使用して、実行可能ファイルを配布する前にプロジェクトを簡単に微調整しています。現在の状態では、Web サイトは以下を使用して「プリコンパイル」されています。
aspnet_compiler.exe -nologo -v ${Appname} -u ${target}
IIS プールが再起動された後 (アイドル シャットダウンまたはリサイクルの後)、アプリケーションがオンラインに戻る (そして Application_start に到達する) までに最大 20 秒かかることに気付きました。
Visual Studio 内で直接デバッグしている場合 (開始に 2 秒かかります) は同じ問題を抱えていないので、aspnet_compiler が本当に良いアイデアであるかどうか疑問に思っています。
MSDN ではあまり見つかりませんでした。本番用に Web サイトをどのようにコンパイルしますか?
java - Javaコンパイル-コードの一部を無視するようにコンパイラに指示する方法はありますか?
私はJavaSwingアプリケーションを保守しています。
Java 5(Appleマシン用)との下位互換性のために、2つのコードベースを維持しています。1つはJava 6の機能を使用し、もう1つはそれらの機能を使用していません。
Java 6の機能を使用する3〜4つのクラスを除いて、コードはほとんど同じです。
1つのコードベースを維持したいだけです。コンパイル中に、Java 5コンパイラにコードの一部を「無視」させる方法はありますか?
Javaコンパイラのバージョンによっては、コードの一部を単にコメント化/コメント解除したくありません。
java - NetBeans 6.5 で動作中のコンパイルはありますか? また、それはどの程度うまく機能していますか?
今日、NetBeans 6.5 では (単一の) Java ファイルをオンザフライでコンパイルする必要があることを知りました。この機能は Eclipse でよく知られています。ファイルを保存するだけで、コンパイルされたクラスも保存されます。NetBeans は同じように動作しますか? そうでない場合、どのようにカチカチ音をたてていますか?
perl - Perl スクリプトをパッケージ化して、Perl のないマシンで実行するにはどうすればよいですか?
また、「Perl をコンパイルするにはどうすればよいですか?」という質問もよく寄せられます。彼らが本当に望んでいるのは、Perl がインストールされていなくてもマシン上で実行できる実行可能ファイルを作成することです。
私が知っているいくつかの解決策があります:
- IndigoStarの perl2exe 商用です。私は試したことがない。その Web サイトには、Win32、Linux、および Solaris をクロスコンパイルできると書かれています。
- ActiveState のPerl 開発キット。商用です。数年前にWindowsで使用しましたが、私のニーズにはうまくいきました。その Web サイトによると、Windows、Mac OS X、Linux、Solaris、AIX、および HP-UX で動作します。
- フリーでオープンソースのPARまたはPAR::Packerです。テスト レポートに基づくと、Windows、Mac OS X、Linux、NetBSD、Solaris で動作しますが、理論的には他の UNIX システムでも動作するはずです。最近、Linux でのパッケージングに PAR を使い始めました。Windows でも使用する予定です。
その他の推奨ソリューションは?
compilation - Borland C++ Builder 6 は常にすべてのファイルをコンパイルします。
C++ Builder 6 が常にすべてのファイルをコンパイルするのはなぜですか?
1 つのファイルにいくつかの変更を加えましたが、BCB 6 はアプリを起動するとすべてのファイルをコンパイルします。何か案が?Windows XP SP2 を使用しています。