2009-08-10 3 views
9

Qt 애플리케이션이 있으며 애플리케이션에 qDebug 메시지를 사용합니다. 내 헤더 파일에출시를 위해 QDebug 헤더를 제거해야합니까?

#include <QDebug> 

:

그러나 나는의 부하에 게으른 입수하고 떠났다. 프로덕션 배포를 위해이를 제거해야하며 어떤 이점이 있습니까?

답변

13

헤더 포함을 제거하면 안됩니다. 그렇게하면 qDebug와 관련된 모든 명령문이 컴파일러 오류를 발생시킬 수 있습니다.

대신 릴리스 용으로 컴파일 할 때 QT_NO_DEBUG_OUTPUT 심볼을 정의하십시오. qDebug는 그 심볼이 정의 될 때 아무런 일도하지 않을 것이고 컴파일러는 아무 것도하지 않는 함수에 대한 호출을 최적화 할 것입니다.

+1

여전히 Qt 라이브러리에서 qDebug 메시지를받을 수 있기 때문에 충분하지 않습니다. Windows 개발자는 SysInternals의 dbgview 프로그램을 통해 확인할 수 있습니다. – hmuelner

1

더 나은 아이디어는 qInstallMsgHandler를 살펴 보는 것입니다. 원하는 위치에 디버그 메시지를 리디렉션 할 수 있습니다.

관련 문제