【发布时间】:2017-04-04 14:39:27
【问题描述】:
有谁知道为什么这在语法上是错误的? 我试图掩盖这一点
#define OUTS_FROM_FP(_fp, _argCount) ((u4*) ((u1*)SAVEAREA_FROM_FP(_fp) - sizeof(u4) * (_argCount)))
到这里
#define OUTS_FROM_FP(_fp, _argCount) {\
((u4*) ((u1*)SAVEAREA_FROM_FP(_fp) - sizeof(u4) * (_argCount))); \
cout<<"Hello World"<<endl; \
}
outs = OUTS_FROM_FP(fp, vsrc1); --this is how it is being called
运行此程序时出现很多错误:它们从声明之前传递给宏的变量未使用的语句开始
【问题讨论】:
-
你为什么还要使用宏而不是函数?
-
这是来自 Dalvik VM 的 sn-p。我正在尝试修改它
-
您能举例说明宏的使用位置吗?我认为可能是您的编译器不支持表达式块,或者该块的最后一行是打印语句而不是原始表达式,但无论哪种方式,如果您提供您在哪里使用它以及错误是什么的示例。
-
outs = OUTS_FROM_FP(fp, vsrc1); --这就是它的调用方式
-
你能用那个编辑问题吗,
outs是什么类型,你看到了什么错误?