2016년 4월 9일 토요일

Build and Compile Difference (빌드와 컴파일 차이점)

비쥬얼 스튜디오에서 우리는 보통 F7을 눌러 에러 상황을 확인한다. 바로 F7이 Build이며, Ctrl+F7이 Compile이다. 이 둘의 차이점은 다음과 같습니다.

Compile ⊂ Build 이며,
간단하게 말하자면
Build = Compile + Link 인 것입니다.

Compile만 하게 되면 .obj 파일인 목적파일만 생성되며 링킹 과정을 하지 않습니다.
Build를 하게 되면 목적파일이 생성되고 링킹과정 뿐만 아니라 실행파일도 생성됩니다.


다음과 같이 두 개의 파일이 있을 때,








Test.c 파일의 변수 a를 주석처리하고 빌드(F7)을 하게 되면, 다음과 같은 에러가 납니다.





외부 변수 a를 찾을 수 없다는 에러입니다. 즉 링킹 과정에서 Test.c와 TestMain.c를 링킹 하였지만, 선언 된 변수 a가 주석처리되어 찾을 수 없다는 의미입니다.



하지만 컴파일(Ctrl+F7)을 하게 되면 에러가 나타나지 않습니다.



왜냐하면, 각각의 두 소스파일에 대해 .obj 목적파일만 생성되었기 때문입니다.




댓글 없음:

댓글 쓰기