5.7.16. __LC_NUMERIC_DEF

이 매크로는 숫자의 포맷을 지정할 때 사용되는 블록을 만들기 위해 사용합니다. rt_locale.h의 정의와 샘플 코드는 Example 5.13에서 볼 수 있습니다.

모든 매크로에서 첫 번째 두 인수는 심볼 접두사와 로케일 이름입니다. 결과 로케일 블록은 &symprefix_start 식에 의해 처리되고 인덱스 엔트리는 &symprefix_index 식에 의해 처리됩니다.

Example 5.13. LC_NUMERIC_DEF

#define __LC_NUMERIC_DEF(sym,ln,dp,ts,gr) \
static const int sym##_index = ~3 & (3 + (sizeof(dp)+sizeof(ts)+sizeof(gr)+ \
20) + (~3 & (3 + sizeof(ln)))); \
static const char sym##_lname[~3 & (3 + sizeof(ln))] = ln; \
static const int sym##_pname = -4-(~3 & (3 + sizeof(ln))); \
static const int sym##_start = 12; \
static const int sym##_tsoff = (sizeof(dp)+12); \
static const int sym##_groff = (sizeof(dp)+sizeof(ts)+12); \
static const char sym##_dptxt[] = dp; \
static const char sym##_tstxt[] = ts; \
static const char sym##_grtxt[] = gr;

사용법

자세한 내용은 _get_lc_numeric()을 참조하십시오. 컴파일러 최적화의 부작용에 대한 자세한 내용은 __LC_CTYPE_DEF도 참조하십시오.

Copyright © 2002-2006 ARM Limited. All rights reserved.ARM DUI 0205GK
Non-Confidential