구조체의 패킹에 대한 이야기
'Programming' 카테고리의 다른 글
NTFS에서 Sparse 파일을 만들기 (3) | 2012.01.03 |
---|---|
16TB 크기의 파일을 만들어내려면 얼마나 오래 걸릴까? (0) | 2012.01.01 |
프로그래머에게 가장 굴욕적인 순간은? (0) | 2011.12.19 |
C/C++ 코딩 스타일 이야기 (8) | 2011.10.24 |
레지스트리의 volatile 옵션 (0) | 2011.09.27 |
NTFS에서 Sparse 파일을 만들기 (3) | 2012.01.03 |
---|---|
16TB 크기의 파일을 만들어내려면 얼마나 오래 걸릴까? (0) | 2012.01.01 |
프로그래머에게 가장 굴욕적인 순간은? (0) | 2011.12.19 |
C/C++ 코딩 스타일 이야기 (8) | 2011.10.24 |
레지스트리의 volatile 옵션 (0) | 2011.09.27 |
레지스트리의 volatile 옵션 (0) | 2011.09.27 |
---|---|
알아두면 유용한 MoveFileEx 함수의 펜딩 옵션 (0) | 2011.07.17 |
윈도우 드라이버를 만들 때 알아야 할 기초적인 내용들 (2) | 2011.05.23 |
Duff's Device (0) | 2011.04.07 |
_countof 매크로 (0) | 2011.03.15 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | send(to, from, count) register short *to, *from; register count; { register n = (count + 7) / 8; switch (count % 8) { case 0: do { *to = *from++; case 7: *to = *from++; case 6: *to = *from++; case 5: *to = *from++; case 4: *to = *from++; case 3: *to = *from++; case 2: *to = *from++; case 1: *to = *from++; } while (--n > 0); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | switch (count & 7) { case 0 : goto lbl0; case 1 : goto lbl1; case 2 : goto lbl2; case 3 : goto lbl3; case 4 : goto lbl4; case 5 : goto lbl5; case 6 : goto lbl6; case 7 : goto lbl7; } lbl0: while (count > 0) { handle_one(); count--; lbl1: handle_one(); count--; lbl2: handle_one(); count--; lbl3: handle_one(); count--; lbl4: handle_one(); count--; lbl5: handle_one(); count--; lbl6: handle_one(); count--; lbl7: handle_one(); count--; } |
1 2 3 | do { *a = *b++; } while (--count > 0); |
1 2 3 4 5 6 7 8 9 10 11 | for ( int i = 0; i < 100; i =+ 8) { *a = *b++; *a = *b++; *a = *b++; *a = *b++; *a = *b++; *a = *b++; *a = *b++; *a = *b++; } |
메모리를 해제하기 전에 왜 널 체크를 하는걸까? (6) | 2011.05.29 |
---|---|
윈도우 드라이버를 만들 때 알아야 할 기초적인 내용들 (2) | 2011.05.23 |
_countof 매크로 (0) | 2011.03.15 |
FIELD_OFFSET 매크로 (1) | 2011.03.01 |
PAGED_CODE 매크로 (6) | 2011.02.27 |
포스팅 이전
https://jeho.page/essay/2011/03/15/_countof-%EB%A7%A4%ED%81%AC%EB%A1%9C.html
_countof 매크로
_countof 매크로는 배열의 원소 개수를 돌려주는 서비스 매크로이다. StringCchCopy나 strcpy_s 같은 함수들을 사용할 때 편리하게 사용할 수 있다.
jeho.page
윈도우 드라이버를 만들 때 알아야 할 기초적인 내용들 (2) | 2011.05.23 |
---|---|
Duff's Device (0) | 2011.04.07 |
FIELD_OFFSET 매크로 (1) | 2011.03.01 |
PAGED_CODE 매크로 (6) | 2011.02.27 |
디렉터리의 읽기 전용 속성 (4) | 2011.02.20 |
블로그 이전했습니다.
https://jeho.page/programming/2011/03/01/FIELD_OFFSET-%EB%A7%A4%ED%81%AC%EB%A1%9C.html
FIELD_OFFSET 매크로
typedef struct tagST { CHAR a; CHAR b; INT* c; INT64 d; INT cbName; WCHAR name[1]; } ST;
jeho.page
Duff's Device (0) | 2011.04.07 |
---|---|
_countof 매크로 (0) | 2011.03.15 |
PAGED_CODE 매크로 (6) | 2011.02.27 |
디렉터리의 읽기 전용 속성 (4) | 2011.02.20 |
알쏭달쏭한 typedef (9) | 2011.01.04 |
블로그 이전
https://jeho.page/programming/2010/01/13/pragma-message.html
비주얼 스튜디오에서 pragma message 로 실수 방지 하기
Jeffrey Richter의 Windows via C/C++ 예제 코드에는 공통 헤더파일이 있다. 이 곳을 살펴보면 유용하게 사용할 수 있을만한 팁들이 많이 있다. 그 중 가장 쉽고 편하게 쓸 수 있는 기능 하나를 소개하고자
jeho.page
로그 뷰어로써의 Vim (2) -원하는 문자열만 골라내기 (3) | 2010.06.20 |
---|---|
로그 뷰어로써의 Vim (1) -멀티 하이라이팅 (0) | 2010.06.20 |
Absolute path와 Canonical path의 차이점 (3) | 2010.01.13 |
2009년 최고의 프로그래밍 언어, Google의 Go (3) | 2010.01.10 |
boost 라이브러리로 커맨드 라인 파싱 쉽게 하기 (1) | 2009.09.12 |