2.8.16. __LC_NUMERIC_DEF

此宏用于创建在设置数字格式时使用的块。 Example 2.20 显示了 rt_locale.h 中的定义和示例代码。

对于所有这些宏,前两个参数是符号前缀和区域设置名称。 生成的区域设置块的地址由表达式 &symprefix_start 确定,索引项由表达式 &symprefix_index 确定。

Example 2.20. 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 © 2007 ARM Limited. All rights reserved. ARM DUI 0349AC
Non-Confidential