宏定义的值可以动态修改么? 或者变相的解决方法
程序要国际化,大部分的Caption都改好了,结果在一个地方卡住了
#define ECC_LANGUAGE_CODE_CHI "chi"
这个宏定义的chi在英文的情况下要变成eng
有什么方法可以动态改变么?
在另一个头文件里有如下定义:
#define EDS_LANGUAGE_CODE_CHI ECC_LANGUAGE_CODE_CHI
[解决办法]
#define max(a,b) ((a) > (b) ? (a) : (b))
[解决办法]
要国际化;
可以用Project->language->Add
[解决办法]
宏本身的值可以通过#undef和#define重新定义,或者用条件编译也可以。
但对于国际化多语言的程序来说,最简单的就是将语言包定义成配置文件,程序启动时载入这些字符串并进行初始化。
[解决办法]
换成函数可以么?
//#define ECC_LANGUAGE_CODE_CHI (get_lang_code())//char * get_lang_code(){ // 动态决定当前语言 // ...}