오브젝트 파일 (Obj에 저장된 파일)은 링크되지 않은 컴파일 된 2 진 파일입니다. 실행 파일을 만들기 위해 나중에 결합되는 최종 실행 파일의 조각으로 생각하십시오.
소스 코드를 컴파일 할 때 각 소스 파일은 느슨하게 하나의 오브젝트 파일로 컴파일됩니다. 왜? 특정 컴파일러가 작성된 이유 *가 없습니다.다른 언어로는 컴파일러가 없지만 모든 것을 한 번에 하나의 큰 바이너리로 컴파일합니다. 그러나 컴파일러를 작성한 사람들은 먼저 오브젝트 파일을 분리하여 컴파일하기로 결정했습니다.
이제 각각의 소스 파일이 하나의 오브젝트 파일을 생성하면 코드를 컴파일 할 때마다 소스 디렉토리가 엉망이되어 많은 .obj 파일로 채워지는 것을 상상할 수 있습니다 (실제로 많은 C 컴파일러가 전통적으로 이것을했다). 시간이지나면서 대규모 프로젝트를 수행하는 개발자는 컴파일 스크립트를 작성하거나 프로젝트를 구성하여 모든 .obj 파일을 단일 디렉토리에 수집하여 소스 디렉토리를 덜 어둡게 만듭니다.
컴파일러를 작성한 사람들은 분명히 별도의 Obj 디렉토리에 대한 아이디어를 좋아해서 프로젝트의 기본 구성으로 만들었습니다. 컴파일러가 ARM (Android 용, Win Phone 7 및 iPhone 용)과 같은 다른 CPU를 지원하고 32 비트와 64 비트를 구별하기 때문에 x86 서브 디렉토리가있는 이유는 무엇입니까?
* 참고 : 실제로이 컴파일러의 코드를보다 모듈 제작을 포함 할 증분 컴파일하지만 의미 어떤 사람들은 별도의 OBJ 파일을 생성하지 않고 모든 것을 할 수 있다는 사실을 지원하기 위해 아주 좋은 이유가 있습니다 대부분 컴파일러 개발자가 디자인 요구 사항이라고 생각하는 것 이상입니다.
오 !! 당신은 현재 디렉토리가 내 exe 파일이 존재한다는 것을 의미합니다 ... 나는 projectOne dir에서 xml 파일을 사용하고 싶습니다. 2 위로 올라갈 수 있습니다 ../../xmlfile – PawanS
Visual Studio의 xml 파일을 사용하면 "출력 디렉토리로 복사"를 "새 파일로 복사"로 설정할 수 있습니다. 빌드 할 때 bin/Debug 디렉토리로 복사되고 응용 프로그램을보다 쉽게 배포 할 수 있습니다. – cspolton
@ spolto ... 와우 !! 이 팁에 대해 고맙습니다. 어쨌든 나는 문제를 해결했지만 정말 좋은 팁을 주었다. – PawanS