본문 바로가기

Programming/C & C++

(19)
warning C4603 & error C1020 : 매크로가 정의되지 않았거나 미리 컴파일된 헤더 사용 후와 정의가 다릅니다. warning C4603: '__INCLUDE_GUARD_MACRO_H__': 매크로가 정의되지 않았거나 미리 컴파일된 헤더 사용 후와 정의가 다릅니다. message : 여기에서 정의하지 않고 미리 컴파일된 헤더에 매크로 추가 message : 미리 컴파일된 헤더 사용 fatal error C1020: 예기치 않은 #endif입니다. warning C4603: '__INCLUDE_GUARD_MACRO_H__' : macro is not defined or definition is different after precompiled header use Add macro to precompiled header instead of defining here use of precompiled header** //..
Detecting Memory Leaks with std::nothrow 메모리 누수 체크와 nothrow를 같이 쓰는 방법이다. // 메모리 누수 체크 클래스 class DetectMemoryLeaks { private: bool m_bDetail; public: DetectMemoryLeaks( bool _bDetail ) : m_bDetail( _bDetail ) { _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); } ~DetectMemoryLeaks() { if( m_bDetail == true ) { TRACE( "--- Detailed Memory Detection ---\n" ); _CrtMemState s1; _CrtMemCheckpoint( &s1 ); _CrtMemDumpStatistics( ..
C++ __cplusplus 매크로와 _MSC_VER 매크로를 이용한 C++ 지원 버전 체크 기존에 포스팅했던 게시물의 업그레이드 버전 https://static-jsony.tistory.com/88 Visual Studio 버전 가져오기 C++ 로 개발을 하다보면 많이 사용하는 키워드, 기본 라이브러리( STL )이 있다. 요즘 나오는 Visual Studio 버전은 C++ 11 이상으로 지원하기 때문에 크게 상관이 없지만 C++ 11 미만의 버전에서는 대표적 static-jsony.tistory.com #if defined( __cplusplus ) && defined( _MSC_VER ) #if __cplusplus >= 201703L && _MSC_VER >= 1914 // C++ 17 이상 / VS 2017 15.7 (MSVC++ 14.14)부터 C++17 코어 기능 지원 #define..
Visual Studio 2017 - 솔루션 탐색기에서 '외부종속성' 필터 삭제하기 언제부턴가 저런식으로 솔루션 탐색기에 '외부 종속성' 필터가 생겼다. 개인적으로 솔루션 탐색기에 저런 필터가 있는걸 별로 좋아하지 않는 변태적인 성격이라 불편하다. 도구 - 옵션 - 텍스트 편집기 - C/C++ - 고급 - 검색/탐색 - 외부 종속성 폴더 사용 안 함 - TRUE
C++ 특정 부분 컴파일러 경고 뜨지 않게 하는 방법. 가아아아끔 코딩을 하다보면 특정 경고가 거슬린다 물론, 해당 파일 상단에 #pragma warning( disable : @@@@ ) // @@@에 특정 경고 번호 입력 를 넣으면 되지만, 저렇게 상단에 pragma를 넣게 되면 해당 파일 전체의 경고 메세지가 뜨지 않는다. 하지만, 동일 파일에서 특정 함수 / 특정 코드만 나오지 않게 하고 싶을 경우엔 #pragma warning( disable : 4172 ) // 4172는 지역 변수 또는 임시 개체의 주소를 반환 하는 경우의 경고이다. int& TestFunction() { int a = 10; return a; } #pragma warning( default : 4172 ) 위의 코드처럼 disable 과 default 를 사용하면 된다.
Visual Studio 2005 검색 시 두 줄씩 검색되는 버그 위의 이미지처럼 전체 솔루션에서 검색 시 특정 파일에서만 검색 결과가 2회 반복되서 뜨는 경우가 있다. 여러 원인이 있는 듯 하고, 이에 따라서 여러 해결 방법이 있는 듯 하지만 확실한 방법은 '전체 솔루션' 검색이 아닌 '현재 프로젝트' 검색으로 하면 된다.
Virtual-Key Code List Constant/value Hex DEC Description VK_LBUTTON 0x01 1 Left mouse button VK_RBUTTON 0x02 2 Right mouse button VK_CANCEL 0x03 3 Control-break processing VK_MBUTTON 0x04 4 Middle mouse button (three-button mouse) VK_XBUTTON1 0x05 5 X1 mouse button VK_XBUTTON2 0x06 6 X2 mouse button - 0x07 7 Undefined VK_BACK 0x08 8 BACKSPACE key VK_TAB 0x09 9 TAB key - 0x0A-0B 10 ~ 11 Reserved VK_CLEAR 0x0C 12 CLEAR..
Visual Studio - C1083 Cannot open include file: '###' : No such file of directory. - 해결 방안 A 프로젝트에서 프로젝트 하위에 있는 폴더 / 파일이 아닌 B 프로젝트의 프로젝트 폴더 하위에 있는 파일을 include 하려 하는 경우 발생하며 E1696과 해결 방법이 동일하다. E1696 해결 게시물 - Visual Studio 2019 - E1696 cannot open source file "###" (단, 디렉터리 경로는 A프로젝트여야 한다.) ※ 다른 상황에서도 C1083이 발생 할 수 있으나, 보통은 디렉터리 경로를 잡아주면 해결된다. - A의 프로젝트 경로 [ D:\ProjectA ] - B의 프로젝트 경로 [ D:\ProjectB ] B 프로젝트에서 A 프로젝트에 있는 ###.h 파일을 include 하려하는 경우에 발생함. 추가 디렉터리에 A의 경로\ ###.h 파일이 ..