검색결과 리스트
전체보기에 해당되는 글 127건
- 2015.01.25 1. 자신만의 에러 코드를 정의하는 법
- 2014.10.31 1.2.3 프로세스가 자라나는 정도 (임시)
- 2014.08.19 [SVN] change list
글
1. 자신만의 에러 코드를 정의하는 법
반환 자료형
1. VOID - 실패하지 않음.
2. BOOL - 실패하면 0. 성공시에는 0 이 아닌값. TRUE 와 비교하는게 아니라 FALSE 와 비교하는게 좋은 방법.
3. HANDLE - 실패시 NULL. INVALID_HANDLE_VALUE ( -1 ) 을 리턴하는 경우도 있음.
4. PVOID - 실패시 NULL. 성공시 데이터의 메모리 주소를 가리킴
5. LONG/DWORD - 개수를 반환함. 실패시 0 또는 -1 (함수에 따라 다름) 을 반환.
실패한 원인 파악을 위해 함수 호출 실패시 그 함수를 호출한 스레드의 로컬스토리지에 에러코드를 저장해둠.
DWORD GetLastError() 로 얻어올 수 있다.
WinError.h 파일에 에러코드의 리스트가 저장되어 있다.
- 성공의 이유가 복수개인 경우에도 위와 같은 방법으로 구분할 수 있다.
Debug 상태에서 확인하려면
Watch 창에서 행선택후 $err,hr 입력
Visual Studio 에는 Error Loockup 유틸리티가 포함되어있음.
value 값을 넣으면 메시지가 출력됨
에러코드를 텍스트 메시지로 변환하려고 하는 경우
DWORD FormatMessage (
DWORD dwFlags,
LPCVOID pSource,
DWORD dwMessageId,
DWORD dwLanguageId,
PTSTR pszBuffer,
DWORD nSize,
va_list *Arguments);
- 언어 식별자를 인자로 받아 다양한 언어로 문자열 구성 가능.
어플리케이션단에서 이런 메커니즘을 이용할 수 있도록 다음 함수 이용가능
VOID SetLastError(DWORD dwErrCode);
어떠한 32 비트 값도 상관없음. WinErrorh 에 정의되어 있다면 가능한 이 에러코드를 사용하도록 한다.
자신만의 에러코드를 등록하여도 되는데, 32 비트를 여러 필드로 구분하여 의미를 부여한다.
비트 |
31-30 |
29 |
28 |
27-16 |
15-0 |
내용 |
심각도 |
마이크로소프트/고객 |
예약됨 |
식별 코드 |
예외 코드 |
의미 |
0 = 성공 1 = 정보 2 = 주의 3 = 에러 |
0 = 마이크로 소프트 1 = 고객 |
항상 0 | 256까지는 예약됨 |
정의한 코드 |
설정
트랙백
댓글
글
1.2.3 프로세스가 자라나는 정도 (임시)
'SICP > 1. Building Abstractions with Procedures' 카테고리의 다른 글
Structure and Interprecation Of Computer Programs - Chapter 1.1 (0) | 2014.06.13 |
---|
설정
트랙백
댓글
글
[SVN] change list
맥등의 환경에서 개발을 하다보면 커맨드 라인 SVN 을 사용하게 되는 경우가 잦다
작업을 하다보면 어떤 파일은 커밋하고 어떤 파일은 커밋하고 싶지 않은 경우,
사용할 수 있는것이 changelist 명령어이다.
svn changelist <CLNAME> <files...>
와 같이 changelist 를 생성하고 ,
삭제는 다음 명령어를 이용한다.
svn changelist --remove --recursive .
http://stackoverflow.com/questions/12905000/how-do-i-remove-an-existing-changelist-from-svn
'개발툴' 카테고리의 다른 글
[MacOSX] Wine (0) | 2015.11.24 |
---|---|
Mac 기본 세팅하기. (0) | 2015.09.15 |
python 콘솔등에서 출력 텍스트 컬러 (0) | 2014.07.25 |
Mac Os Terminal Color (0) | 2014.07.24 |
정규식 - 기본 구문 (0) | 2014.07.03 |