6

質問の短いバージョン: Eclipseによって生成された、、、、、およびファイルobjects.mksources.mkは何ですか?makefilesubdir.mk*.o*.d


質問の長いバージョン:

  1. 私のホームディレクトリには、workspaceディレクトリがあります。プロジェクトを作成してそれを呼び出すと、 EclipseによってProjectName新しいディレクトリ(別名)がフォルダに作成されます。ProjectNameworkspace
  2. 私のプロジェクトでは、さまざまなクラスを作成します。すべてのクラスは2つのファイル(ソースファイルClassName.cppとヘッダーファイルClassName.h)に関連付けられています。これらのファイルはフォルダに入れられworkspace/ProjectName/srcます。
  3. これでBuild、Eclipseのプロジェクトが表示されworkspace/ProjectName、新しいフォルダーが表示されます。それはと呼ばれDebugます。
  4. このフォルダには、機能を理解しているファイルが1つだけありますProjectName。実行可能ファイルです。コマンドラインに名前を入力すると、プログラムが実行されます。
  5. 別の3つのファイルは私にはわかりません:objects.mk、、。sources.mkmakefile
  6. また、Debugフォルダにはsrcディレクトリがあります。これには、ファイルと同様に意味が不明なファイルが含まれていますsubdir.mk(N個のクラスがある場合、とファイルのN個のペアがあります)。ClassName.oClassName.d*.o*.d

誰か、これらのファイルの意味と目的を説明できますか?

4

1 に答える 1

5

objects.mk、、、およびはsources.mk、プロジェクトの種類(実行可能ファイル、ライブラリ、共有ライブラリ)に応じてEclipseによって生成されるmakefileです。それらの内容とこれらの動作については、ツールチェーンのコマンドドキュメントを参照してください。要するに、これらはコンパイラとリンカを呼び出す責任があります。makefilesubdir.mkmake

ClassName.oはコンパイラによって生成されたオブジェクトファイルであり、それらはすべて実行可能ファイルにリンクされるか、ライブラリに保存されます(プロジェクトの種類によって異なります)。

ClassName.dは、コンパイラによって(オンデマンドで)生成され、makefileにインクルードされる、いわゆる依存関係参照ファイルです。これにより、ヘッダーファイルの変更を追跡し、必要に応じて関連するソースファイルを再コンパイルできます。

于 2013-01-17T11:00:26.690 に答える