发布网友 发布时间:2022-05-21 19:17
共3个回答
热心网友 时间:2023-11-07 17:23
头一次见这样用,呵呵.按照SDK文档里面说的:macro macro-list Use the macro statement to specify #defines for the preprocessing of source code. Each macro specified will be defined for preprocessing the C++ source code in your project我理解至少应该仿照#define的用法一般是在mmp里面定义一些宏,用来控制条件编译的.你的用法似乎想要定义字符串,你可以在mmp里面: MACRO XXX然后在代码里面: #ifdef XXX _LIT(KXXX,"abc");#else_LIT(KXXX,"efg");#endif然后:tmp.Format(_L("%s"),KXXX().AllocL());你这样的用法确实没见过,也许也可以,不过至少要改成这样:macro RLOG_MODULE "abc"倒是没有测试过,呵呵.热心网友 时间:2023-11-07 17:23
可以做值的判断。macro a=1完全可以,在mmp文件中不能定义一个宏字符串。比如macro a=\"abc\"因为这个在被编译器预处理前,perl脚本不认识这个字符串。好像可以给编译器加个-D可以把字符串宏传给编译器的预处理程序,不过没测试,不敢肯定。热心网友 时间:2023-11-07 17:23
回复 5# 楼上正解 _L("%S") 小s改为大S。macro RLOG_MODULE "abc" 测试了不行!