|
알바맨 님이 쓰신 글 :
: 제목 그대로
:
: Project -> Option 에서
:
: Full Debug버튼과 Release버튼이 있는데
:
: 두개의 차이점이 뭔가요?
M$ VC++을 써보셨으면 아실텐데요.
VC++는 디버그 모드와 릴리즈 모드의 실행파일이 별도로 디렉토리에 각각 생성되는 데 반해,
볼랜드 컴파일러는 이렇게 프로젝트 옵션만 바꾸어서 디버그 모드와 릴리즈 모드를 변환합니다.
디버그 모드는 디버그를 위한 정보가 실행파일에 저장되며, 최적화를 약하게 합니다.
릴리즈 모드는 이런 디버그 정보가 저장되지 않고, 가능한 최적화 방법을 모두 사용합니다.
M$ VC++과 비교해 보면,
VC++의 디버그 모드는 릴리즈 모드보다 형편없이 느립니다.
반면에 BC++의 디버그 모드는 릴리즈 모드보다 속도 저하가 그렇게 심하지는 않습니다.
VC++의 릴리즈 모드는 중대한 문제점이 있는데, 속도 향상을 위해 불안정한 최적화 기법을 사용하기 때문에(컴파일 방법 자체가 다르기 때문이라고 생각됩니다.),
디버그 모드에서 잘 작동하는 프로그램이 릴리즈 모드에서 제대로 작동되지 않는 경우가 가끔씩 발생합니다.
BC++에서는 이런 경우가 거의 없습니다.
그리고 VC++과 BC++ 각각의 릴리즈 버전의 속도는 거의 비슷합니다.
각각의 테스트 항목에서 서로 앞서거니 뒷서거니 하지요.
|