2

コンパイルする多くの *.c ファイルを含むワークスペースがあります。(MSVC6.0やgccなどのツールチェーンを使用できます)

最初にコンパイルされるソース ファイルは?

後でコンパイルするファイルの順序はどのように決定されますか?

4

5 に答える 5

5

VC : プロジェクト フォルダー、次にアルファベット順。
GCC : make ファイルの順序に従う

なぜこれが重要なのですか?, 完了順序は測定されず、最終的なビルド結果には影響しません.

于 2009-04-01T14:51:24.997 に答える
5

通常、これはどこにも指定されていません。特に使用する場合。parallel make の場合、コンパイルの順序はほぼ任意です。

于 2009-04-01T14:58:54.323 に答える
2

make:

  • ターゲットは出現順に対処されます
  • 依存関係ツリーはターゲットごとに構築され、ツリーは深さ優先でポストオーダー評価でトラバースされると推測します (これが機能する唯一の方法のようですが、ドキュメントでこれを指定するものは見つかりません)。

jpalecekが示唆するように、同時ビルドはより複雑になる可能性があります。


GNU make docs からの引用:

ターゲットのダブルコロン規則は、makefile に現れる順序で実行されます。

...

複数の目標を指定する場合は、名前を付けた順にプロセスを順番に作成します。

于 2009-04-01T14:59:55.693 に答える