【发布时间】:2009-07-15 11:58:23
【问题描述】:
请帮助宏初学者...我创建了一个用于加载图像的简单宏并将其拆分为几行,以便每次执行宏生成的代码时都可以记录下来(用于调试)。它看起来像这样:
#define LOAD_PNG(L_I_IMAGE_NAME) ({ \
PngImageClass* __tmp; \
printf("Loading png: %s", L_I_IMAGE_NAME);\
__tmp = [image loading code here];\
__tmp; \
})
我的计划是能够在需要时轻松注释掉日志行(手动),但预处理器不会容忍任何正常方式。应该怎么做?!
编辑:我说它“任何正常方式”都不起作用是完全错误的,因为我懒得只尝试单行注释。我也会听取几位响应者的建议,将其变成一个函数。不,没有充分的理由(我猜)为此使用宏。
【问题讨论】:
-
您使用宏而不是函数是否有原因?这看起来不像是一个宏是个好主意的地方。
标签: c objective-c macros