2.8.16. __LC_NUMERIC_DEF

このマクロを使用すると、数値形式設定時に使用されるブロックを作成できます。 Example 2.20 は、rt_locale.h に含まれている定義とサンプルコードを示しています。

すべてのマクロで、最初の 2 つの引数はシンボルの接頭文字とロケール名です。 求められるロケールブロックは、式 &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 0349AJ
Non-Confidential