반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Python
- win32
- cartalyst
- Sentinel
- 코로나
- php
- Eclipse
- Blade
- vue
- 홈택스
- reactnative
- auth
- blockchain
- Laravel
- 체당금
- 이더리움
- Java
- 당사자표시정정신청서
- 사업자계좌
- Bootstrap
- 개인사업자
- Tutorial
- 보정명령
- 소액임금체불
- 인민공원
- javascript
- 코로나19
- elasticSearch
- 전자소송
- as후기
Archives
- Today
- Total
그냥 사는 이야기
define 매크로에서 # 사용하기 본문
반응형
define macro magic
define 전처리를 사용할 때 #에 대해서는 특별한 기능이 있다. 그리고 ##도 또 다른 기능이 있다. 이런 것들을 잘 활용하면 정말 마법같은 코드생성 같은 메타 처리를 할 수 있다.
여기서는 # 하나만 사용하는 경우의 예를 살펴 보면
#define DELETE (0x00010000L)
struct perm_name
{
DWORD perm;
const char * name;
};
#define PERM_NAME(perm) {perm, #perm}
perm_name process_perm_names[] =
{
{ DELETE, #DELETE }, // 이건 안됨. 전처리기에서 #이 의미를 가지는 것 같음.
PERM_NAME(DELETE), // 잘 됨
};
예제를 돌려보면 어떤 기능을 가지고 있는지 금방 알 수 있을 것 같다. define된 것을 풀어서 { DELETE, #DELETE }이 안되더라.
'Development > 개발언어' 카테고리의 다른 글
Log4J - The content of element type "log4j:configuration" must match "(renderer*,appender*,(category|logger)*,root?,categoryFactory?)" (0) | 2013.01.25 |
---|---|
OSGi Bundle-NativeCode로 dll 로드하기 (0) | 2010.05.14 |
ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2 (0) | 2008.09.09 |
java String에서 character set 문제 및 변환 (0) | 2008.08.21 |
-verbosegc 로 gc의 로그를 보자 (0) | 2008.07.07 |
Comments