gpt4 book ai didi

android - 如何理解这个定义宏?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:31:00 24 4
gpt4 key购买 nike

我正在学习 Dalvik VM 代码,但被 InterpC-portable.cpp 文件中的一些奇怪的 C 定义宏阻止了。他们对我来说很难理解。代码是:

# define H(_op)             &&op_##_op

在文件 libdex/DexOpcodes.h 中,它是这样使用的:

#define DEFINE_GOTO_TABLE(_name) \
static const void* _name[kNumPackedOpcodes] = { \
/* BEGIN(libdex-goto-table); GENERATED AUTOMATICALLY BY opcode-gen */ \
H(OP_NOP), \
H(OP_MOVE), \
H(OP_MOVE_FROM16), \
...

OP_NOP、OP_MOVE、OP_MOVE_FROM16 是一些枚举变量。但是H(_op)宏中的&&操作是什么意思呢?获取不存储在内存中的指针的指针没有意义。任何人都可以帮助我吗?谢谢。

最佳答案

&&标签值运算符。它返回在当前范围内定义的标签的地址,用作操作数。它是一个 gcc 扩展。

关于android - 如何理解这个定义宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13380664/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com