본문 바로가기

Programming

(41)
Reverse Engineering failed. not found machine code OpenGL api 사용시엔 발생하지 않던 문제였으나Vulkan api를 사용하고 나서부터 어느시점에선가 종종 보이기 시작했다.초반에는 그냥 컴퓨터 재부팅으로 해결했으나, 어느 순간부턴 재부팅마저도 귀찮아져서 해결하려고 시도했다. Visual studio에서 빌드를 한 상태에서 발생한 문제이기에 확인 버튼을 누르면, 어느 부분에서 문제가 발생했는지 알려주고 있었다(* 멍청하게도 이 부분을 크게 신경쓰고 있지 않았다)oCam에서 발생한 문제였고, 오류가 발생한 dll의 이름이 HookSurfaceDLL인것으로 보아,oCam의 녹화 모드 중 하나인 '게임 녹화'에서 'Focusing 된 Window를 hooking 하는' 용도의 라이브러리(*아닐수도 있다)인데OpenGL api는 정상 감지하나, Vulkan..
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 를 사용하면 된다.
Android Studio - AVD for AMD 진짜 오랜만에 안드 개발하려고 안스 켰다가 만난 문제. 사실 - 인텔 CPU에서 라이젠으로 넘어온 이후 C++만 해서 이건 처음봤다. Intel HAXM is required to run this AVD. Your CPU does not support required features (VT-x or SVM). Unfortunately, your computer does not support hardware accelerated virtualization. Here are some of your options: 1) Use a physical device for testing 2) Develop on a Windows/OSX computer with an Intel processor that support..
Visual Studio 2005 검색 시 두 줄씩 검색되는 버그 위의 이미지처럼 전체 솔루션에서 검색 시 특정 파일에서만 검색 결과가 2회 반복되서 뜨는 경우가 있다. 여러 원인이 있는 듯 하고, 이에 따라서 여러 해결 방법이 있는 듯 하지만 확실한 방법은 '전체 솔루션' 검색이 아닌 '현재 프로젝트' 검색으로 하면 된다.