분류 전체보기1382 Qt Creator 디버깅툴 cdb 설치 연동 방법 (windbg 다운로드) 윈도우에서 Qt를 사용할 때 필요한 것 중 하나가 cdb입니다. 비주얼 스튜디오란 툴은 원래 강력해서 따로 설치해줄 것이 없지만, Qt Creator은 그렇지 않아요. 그래서 윈도우 디버깅하려면 뭔가를 설치해야 합니다. 그게 바로 Qt Creator cdb 이것입니다. 먼저 Debugging Tools for Windows를 설치합니다. 1. 다운로드 1 - WinDbg Quick Links [클릭]위 링크로 이동하면 멋없는 페이지로 이동하는데, 그곳에서 아래 빨간 박스 안의 링크를 눌러 실제 다운로드 사이트로 이동하세요. 스크롤을 조금 내리면 설치 파일 링크가 보이는데, 이곳은 사용자 환경에 따라 동적으로 생성되는 페이지라 제가 캡처한 아래 화면이 일정하진 않아요. 사용자마다 다릅니다. 윈도우7에서 Q.. 2017. 3. 6. C++ 전역변수 선언 예제와 안 쓰는 방법 (global variable) C++ 전역변수 선언 예제와 안 쓰는 방법 (global variable) 기본적으로, 전역변수는 일단 안 쓰는 게 가장 좋긴 합니다. 그렇지만 사용할만한 상황이 존재합니다.... 그렇지만 객체지향에는 "전역"이란 개념 자체가 없습니다. 가령, extern int nTemp;라고 선언을 한다면, nTemp가 object file 어딘가에 선언된 전역변수를 사용하겠다는 것이죠. 그리고, stdafx.cpp와 stdafx.h 파일에 전역변수를 선언하는 경우가 있는데, stdafx는 변동성이 거의 없는 것, 한번 선언하면 변하지 않는 형태의 것들만 골라서 넣어놔야 합니다. 때에 따라서 전역변수가 그러할 순 있으나, 변수가 거의 변하지 않는다면 굳이 변수일 이유가 없기도 하죠. 그래서 stdafx.cpp와 st.. 2017. 3. 6. sqlite 테이블 생성, 존재 여부 확인해 중복 방지 애플리케이션은 동적으로 테이블의 존재 여부를 파악하여 테이블의 생성 여부를 결정해야 합니다. 이런 동작을 하기 위한 로직엔 두 개가 있습니다. 1. sqlite 테이블이 존재하면 건너뛴다 (삭제 후 생성되지 않음)2. sqlite 테이블이 존재하지 않으면 생성한다 (새롭게 생성됨) 1번 경우 예제1db.execSQL("create table if not exists month (NumericalValue integer);");cs "if not exists"란 명령어로 테이블이 존재하면 생성 과정을 건너뛰게 하였습니다. 예를 들어, 이미 존재하는 테이블일 경우엔 기존 테이블이 계속해서 사용됩니다. 2번 경우 예제12345678910111213141516SQLiteDatabase db = openOrCre.. 2017. 3. 6. C# Sealed 클래스는 왜 빠를까? 최적화에 필요한 이유 컴파일러는 낮은 레벨에서 C# sealed 클래스를 micro-optimization 할 수 있습니다. 컴파일 타임에 C# sealed 클래스에 함수를 호출하면 callvirt IL 명령어 대신 IL 명령어를 사용합니다. C# sealed 클래스의 함수는 오버라이드 되지 않음.가상 함수 테이블 검사 과정을 생략.가상 함수 테이블은 조회 시간이 상대적으로 짦음.callvirt 보다 속도에서 유리함. 이렇기에 성능이 조금 좋아집니다. 최적화 중이라면 적용하세요. 즉, 다형성을 잃어버린 클래스라 선언했기에 컴파일러는 여러 검사 과정을 생략합니다. (확장되지 않는 클래스) 예를 들어, non-sealed 클래스에 makeNoise()란 함수가 있을 때, 이 함수의 재정의 여부는 알 수가 없습니다. 함수 재정의 .. 2017. 3. 5. 이전 1 ··· 308 309 310 311 312 313 314 ··· 346 다음