0

こんにちは私は完全なビルドが必要なときと部分的なビルドで十分なときを見つけようとしています。アーティカルはたくさんありますが、具体的な答えが見つかりません。

以下は私の考えです

フルビルドが必要な場合:

1.依存モジュールのビルドの変更。

---ビルドオプションの変更または最適化手法の使用。

2.オブジェクトレイアウトの変更:

---ヘッダーファイルの変更、クラス内の新しいメソッドの追加と削除。

---変数または仮想関数を追加または削除してオブジェクトサイズを変更します。

---プラグマパックを使用したデータアライメントの変更。

3.グローバル変数の変更

次の場合は、部分ビルドで十分です。

1.指定されたインターフェイスを変更しない限り、ロジックの変更

2.スタック変数の変更

4

1 に答える 1

1

理想的な世界では、依存関係の 1 つが変更されたかどうかをすべてのビルド ツールが自動的に検出するため、完全なビルドは必要ありません。

しかし、これは理想的な世界でのみ当てはまります。実際にビルドツールは人間と人間によって書かれています

  • 失敗するため、ツールは考えられるすべての変更を考慮していない可能性があります。
  • は怠惰であるため、ツールは変更を考慮しない場合があります。

これは、ビルド ツールの使用経験が必要であることを意味します。適切に作成された makefile を使用すると、すべてが考慮されるため、完全なビルドを行う必要はほとんどありません。しかし、21 世紀になると、makefile はもはや最先端の​​ものではなく、すぐに複雑になります。今日の開発環境は、依存関係を見つけるのにかなりうまく機能しますが、大規模なプロジェクトでは、開発環境の概念に入れるのが難しい依存関係がある場合があり、スクリプトを作成します。

したがって、あなたの質問に対する本当の答えはありません。実際には、リリースごとに完全な再構築を行うのが適切です。この再構築は、ボタンを 1 つ押すだけで実行できます。そして、コードがコンパイル可能かどうかを確認するために 2 時間も待ちたくないので、日常業務では部分ビルドを実行します。しかし、日常の作業でも、リンカ/コンパイラ/(ここで選択したツール) が最も単純な変更でさえ認識していないため、完全な再構築が必要になる場合があります。

于 2011-12-14T18:38:21.830 に答える