본문 바로가기

C,C++

release 모드 설정하기

http://luckeex.tistory.com/99 <-글 보기


<Microsoft Visual Studio 2010 ver>

기본 : debug 로 설정되어 있다

릴리즈 모드로 Build 하면 코드가 간결해져서 디버깅하기 편하다.

<Release모드로 변경하기>

맨 위 메뉴에서 build > Configuration Manager… > Active solution configuration Release 변경

  

<릴리즈모드와 디버깅모드의 차이점>

  • 릴리즈 모드 (프로그램을 배포하기 위해 컴파일 하는 모드)
    - 초기화 하지 않습니다.
    - 같은 문자열 상수라도 서로 다른 공간에 할당됩니다.
    -
    디버깅정보를 삽입하지 않고 코드를 최적화하여 실행 파일 크기를 최대한 줄여줍니다.
    -
    속도나 크기면에서 월등히 유리합니다.
    (메모리 점유율로 낮아지고 실행도 빨라짐)
    - 더 이상 현재버전에서 내결함성이나 문제점들을 발견할 수 없었을때 빌드하여 주는 모드입니다.

      

  • 디버깅 모드
    - 실행파일에 디버깅 정보를 삽입하여 언제든지 디버깅을 할 수 있도록 하며 Debug서브 폴더에 실행파일을
       만들어줍니다.
    - 디버깅정보가 들어가 있기때문에 실행파일 상태를 확인할 수 있습니다.
    -
    디버그에 필요한 정보들을 실행시 계속 체크함으로써 속도가 느립니다.

    - 디버그 빌드와 릴리즈 빌드에서 서로 실행 결과가 다른 경우?
       특히 디버그 빌드에서는 괜찮은데 릴리즈 빌드에서만 오류가 발생하여 프로그램이 죽는 경우가 있는데
       이런 경우는 대부분 메모리가 깨진 경우에 발생합니다. 두 모드에서 동적으로 메모리를 할당하면 힙 영역에

    요청한 크기만큼 메모리를 할당 받게 되는데 그 초기값이 다릅니다.

      

    - 릴리즈 모드와 디버깅모드의 차이점은?
      
    디버깅 정보를 실행코드 안에 넣느냐 안 넣느냐가 차이점이 되겠지요.
       즉, 디버거 모드로 컴파일하게되면 실행상태에서 추적할수 있는 정보가 실행파일 안에 들어가게 되므로
       용량이 커지고, 릴리즈 모드의 경우 디버깅 정보없이 순수한 소스코드자체의 기능만 컴파일되어 실행파일로 만들어집니다.

      

      

    <릴리즈모드로 빌드하는 이유>

    => 릴리즈 모드는 디버깅정보를 삽입하지 않아 코드가 간결해짐으로써 디버깅하기에 편해진다.

      

      

    <출처>http://social.msdn.microsoft.com/Forums/ko-KR/visualcsharpko/thread/b1db19b8-106f-461e-ae99-a0fd01cb9a5f/


'C,C++' 카테고리의 다른 글

솔루션 1개에 여러개 프로젝트 쓰기  (0) 2016.05.25
mfc release 배포  (0) 2015.01.19
이클립스에서 C++ 개발환경 세팅  (0) 2014.08.13
visual studio 줄번호  (0) 2014.04.26
c언어 헤더  (0) 2014.04.26