オブジェクトファイル(Objに格納されているファイル)は、リンクされていないコンパイル済みバイナリファイルです。それを後で実行可能ファイルを作るために組み合わせる最終実行ファイルの断片と考えてください。
ソースコードをコンパイルするとき、各ソースファイルは1つのオブジェクトファイルに緩やかにコンパイルされます。どうして?特定のコンパイラがどのように書かれたかは理由もありません。他の言語ではこれをしないコンパイラがありますが、すべてをコンパイルして1つの大きなバイナリにまとめます。しかし、あなたのコンパイラを書いた人は、最初にコンパイルしてオブジェクトファイルを分離することに決めました。
ここで、各ソースファイルが1つのオブジェクトファイルを生成すると、コードをコンパイルするたびにソースディレクトリが厄介になり、たくさんの.objファイル(実際には多くのCコンパイラこれをした)。時間が経つにつれて、大規模プロジェクトに取り組んでいる開発者は、コンパイルスクリプトを作成したり、プロジェクトを構成してすべての.objファイルを1つのディレクトリに集めて、ソースディレクトリを乱雑にしなくしました。
あなたのコンパイラを書いた人は、別のObjディレクトリのアイデアを気に入っていたので、プロジェクトのデフォルト設定にしました。あなたのコンパイラがARM(Android用、Win Phone 7、iPhone用)のような他のCPUもサポートし、32ビットと64ビットを区別できるため、x86サブディレクトリがあるのはなぜですか。
*注:コンパイラのコードはよりモジュール作り、インクリメンタル・コンパイルをサポートするが、一部の人は別々のOBJファイルを生成せずにすべてのことを行うことができるという事実があることを意味するなど、これを行うにはいくつかの非常に良い理由が実際にあります。これは、コンパイラの開発者による設計の決定の大部分が、必要以上に重要です。
oh !!私のexeファイルが存在する現在のディレクトリを意味する...私はprojectOneディレクトリにxmlファイルを使用したい、私は2つのフォルダに行くだろう../../xmlfile – PawanS
ビルド時にbin/Debugディレクトリにコピーされ、アプリケーションのデプロイメントが容易になります。Visual Studioの場合、 "Output Directoryにコピー"を "Copy if newer"に設定できます。 – cspolton
@spolto ...うわー!!このチップのために高すぎる。とにかく私は私の問題を解決したが、本当に素敵な先端を与えた。 – PawanS