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)マクロでの&&操作の意味は何ですか?メモリに格納されないポインタのポインタを取得することは意味がありません。誰でも私を助けることができますか?ありがとう。