2012-05-26 29 views
5

Si ejecuté javap -c ASM.class > ASM.java para obtener el código de ensamblado, ¿cómo volvería a compilarlo en el bytecode de JVM?¿Cómo compilo el código ensamblador JVM en bytecode?

+1

primera trate de no usar '.java' para Java montaje, ya que es la confusión. yo uso '.jasm' –

+0

@ColeJohnson Gracias. No sabía acerca de esa extensión de archivo. – Orcris

+2

como desarrollador, puede etiquetar sus archivos como lo desee. No hay un estándar Simplemente elegí jasm para diferenciarlo entre .asm y elegí j porque es como nasm, masm, etc. (??? ASeMbler) –

Respuesta

5

Jasmin es un ensamblador para bytecodes de Java. Sin embargo, no sé si puede hacer frente a la salida de javap.


ACTUALIZACIÓN

La documentación Jasmin dice lo siguiente acerca javap de salida:

Sun proporciona un programa javap que puede imprimir el código de montaje en un archivo de clase. Sin embargo, el resultado de javap no es apropiado para usar como formato de ensamblador. Está diseñado para ser leído por una persona, no para ser analizado por un ensamblador, por lo que tiene una serie de omisiones e inconvenientes.

Sobre la base de esto, diría que hay pocas posibilidades de encontrar un ensamblador que tome la salida javap como entrada.

-2

se puede tratar de hacerlo por ASM, puede ser generar clase o modificar la clase en tiempo de ejecución

+0

Esto no responde la pregunta, IMO. –

+0

ASM solo le permite modificar bytecode java en tiempo de ejecución, no tomar código de ensamblado y convertirlo en bytecode, sin embargo, no es inviable que uno pueda hacer un programa para leer el ensamblado y generar el bytecode con ASM. – mailmindlin

Cuestiones relacionadas