Cómo entender esto definir macro?
Estoy aprendiendo el código de VM de Dalvik pero me detuve por algunas macros de C definidas en el archivo InterpC-portable.cpp . Son difíciles de entender para mí. El código es:
# define H(_op) &&op_##_op
Y en el archivo libdex / DexOpcodes.h , se usa así:
- Android ndk freetype2
- Android: Java, C o C ++?
- Zero-copia de procesamiento de la cámara y la prestación de tuberías en Android
- android ndk problema de desarrollo: 'Invalid arguments' error para la función memcpy
- Perfilado de android-ndk simple C / C ++ ejecutable
#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 son algunos enum variable. Pero, ¿cuál es el significado de la operación && en la macro H (_op)? No tiene sentido para obtener un puntero de puntero que no almacena en la memoria. ¿Alguien puede ayudarme? Gracias.
- Android se congela en OpenGL | ES (la CPU puede estar vinculada.
- Código nativo de C / C ++ en una plataforma Android
- OpenCV instalador independiente opencv
- Std :: map linker error ndk r8c con APP_STL: = gnustl_static
- Compilación de bibliotecas que requieren stl en android
- ¿Cómo puedo optimizar una multiplicación-vector-multiplicación 4D con ARM NEON?
- FindClass de cualquier hilo en Android JNI
- ¿Tiene crashlytics una API pública?
&&
es el operador de valor de etiqueta . Devuelve la dirección de una etiqueta definida en el ámbito actual, utilizada como operando. Es una extensión gcc
.