분류 전체보기 25

Setup/Uninstall의 작동이 중지되었습니다.

특정 프리웨어인 PDF 프로그램을 사용자 PC에 설치할 일이 생겼다. Windows 10 에서는 아무런 문제 없이 설치되어 끝난줄 알았다. PDF 기능 개발을 끝내고 2달이 지나고 Windows 7 테스트를 위해 PDF 프로그램을 설치하려는 순간 위와 같은 팝업창이 뜨면서 종료 되었다. 온라인 해결 방법을 눌러도 프로그레스 바가 진행하다가 아무런 반응 없이 종료. 문제에 관한 정보 보기를 눌러도 언제나 보던 그놈이 나타났다. (Appcrash : ntdll.dll) 약 2주간 구글링을 해보고 개발 회사에 되도 않는 영어로 문의메일 넣어보고 삽질하다가 비슷한 증상을 겪은 글을 찾았다. (참고 : https://forums.pdfforge.org/t/pdfcreator-2-5-3-cant-be-install..

공통 2019.07.16

변수 이름 접두어

기존 개발된 프로젝트를 하면서 10년전 코드를 보면 cb 나 sz 가 붙은 변수명을 많이 봐왔다. 선언된 변수의 형태를 보고 짐작만 했던 내용을 정리한다. n , cb , sz , lpsz , h 등 [n] 접두어 : n 변수형 : int 예시 : nCmdShow 의미 : 정수 [cb] 접두어 : cb 변수형 : DWORD 예시 : cbSize 의미 : 바이트의 수 (count of byte) [sz] 접두어 : sz 변수형 : char[] 예시 : szTitle 의미 : 문자열 (string terminated zero) [lpsz] 접두어 : lpsz 변수형 : char* 예시 : lpszMenuName 의미 : 0으로 끝나는 문자열 포인터 [h] 접두어 : h 변수형 : HINSTANCE, HWND..

공통 2019.06.30

Registration Error / devenv.exe

레지스트리 변경이 필요한 작업을 하다가 약 2일간의 삽질을 정리한다. 과정1. File 및 Data 를 업데이트 해야하는 런처가 있다.2. 오프라인상태일 때 런처를 통해서 프로그램 실행이 필요해졌다.3. 레지스트리에 key를 등록해서 라이센스를 관리하기로 했다.4. 기존에 개발된 license.dll 을 통해서 작업을 시작했다. 문제점 발생1. 왜인지 dll의 함수를 호출하면 - Registration Error - Close Registration Error팝업창이 순서대로 출력되었다.2. 확인해보니 레지스트리에 아무런 값이 등록이 안됐다.3. dll 문제라고 지레짐작하고 소스를 뒤져봤다. ( 15년이 넘게 지난 C로 개발된 소스이다. 여기서 register 변수를 처음 봤다. )4. 문제가 없다.5...

Visual Studio 2019.03.07

[C/C++] WORD, DWORD, QWORD

C++ 프로젝트를 하면서 DWORD 에 대해 알아보고 나면 까먹어서 정리해둔다. (요약은 맨 아래에) - WORD, DWORD, QWORD 란? 데이터를 저장하는 데 사용되는 '부호 없는 정수형 자료형'이다. 더보기 // 16비트 WORD 선언 WORD word_ = 10; unsigned short word__ = 10; // 32비트 DWORD 선언 DWORD dword_ = 1000000000; unsigned long dword__ = 1000000000; // 64비트 QWORD 선언 QWORD qword_= 1000000000000000000; unsigned long long qword__ = 1000000000000000000; - WORD의 탄생 일화 데이터 처리 과정에서 u..

C,C++ 2019.03.04

[C++]warning C4482 : 비표준 확장 에 대해서

프로젝트를 빌드 하던 도중 warning C4482 을 발견 했다. 경고 1 warning C4482: 비표준 확장이 사용되었습니다. 정규화된 이름에 'MyCodeException::ExceptionID' 열거형을 사용했습니다. [경로]\[파일].cpp [줄] 위와 같은 에로가 발생하는 이유는 함수 호출 파라미터에 enum(열거형)을 전달 할 때 발생한다. ex) AfxMessageBox(MyCodeException::ExceptionID::num1); - 정식 설명 - 이 경고 메세지는 형식 내부(클래스, 구조체, 네임스페이스 등)에 선언된 이름있는 enum을 사용하게 되었을 때 나타나는 증상이다. 빌드시 경고 메세지를 없애기 위해서는 [형식 내부명]::[열거형 항목] 으로 사용하면 된다. ex) Af..

C,C++ 2019.01.31

메모리 영역(Heap, Stack, Data, Code)

주기억장치(RAM) 에는 크게 Heap, Stack, Data, Code 로 사용하는 영역(Segment)이 있다. ( BSS 영역도 있다는데 나중에 알아보자. ) 각 데이터 영역은 함수, 변수, 상수 등의 시작 주소값을 가진다. ex) main 함수의 주소값 : 08048400 - Heap malloc(Memory Allocation), new 등으로 동적 메모리를 선언할 때 할당되는 영역 - Stack 지역변수(local), 매개변수(파라미터, parameter), 리턴(return) 등 임시로 사용할 메모리를 선언할 때 할당되는 영역 - Data 전역변수(global), 정적변수(static), 배열(array), 구조체(structure) 등 프로그램 실행과 동시에 선언할 때 할당되는 영역 - C..

C,C++ 2019.01.23
반응형