Se eseguo javap -c ASM.class > ASM.java
per ottenere il codice assembly, come dovrei ricompilarlo di nuovo nel bytecode JVM?Come si compila il codice assembly JVM in bytecode?
risposta
Jasmin è un assemblatore per bytecode Java. Tuttavia, non so se possa far fronte all'output di javap.
UPDATE
La documentazione Jasmin dice questo circa javap
uscita:
Sun fornisce un programma di javap che può stampare il codice assembly in un file di classe. Tuttavia, l'output di javap non è appropriato per l'uso come formato assembler. È progettato per essere letto da una persona, non per essere analizzato da un assemblatore, quindi ha una serie di omissioni e svantaggi.
Sulla base di questo, direi che ci sono poche possibilità di trovare un assemblatore che prenda l'output javap
come input.
si può provare a farlo da ASM, può essere generare classe o modificare la classe in fase di esecuzione
Questo non risponde alla domanda, IMO. –
ASM consente di modificare solo bytecode java in fase di runtime, non di prendere il codice assembly e convertirlo in bytecode, tuttavia non è impossibile che un programma possa leggere un assembly e generare il bytecode con ASM. – mailmindlin
- 1. Informazioni su codice bytecode Java e JVM
- 2. Come si compila il mio codice OCaml in un eseguibile bytecode standalone?
- 3. quando java jvm compila bytecode, dove viene inserito quel codice nello spazio di elaborazione?
- 4. Come si compila il codice del kernel in C?
- 5. come bytecode jvm viene convertito in js in cljs build
- 6. Bytecode JVM, come posso trovare il tipo di variabili locali?
- 7. Responsabilità del verificatore del bytecode JVM
- 8. Come convertire il codice ByteCode in codice macchina
- 9. Come si compila il codice Python 3.5 con Mingw?
- 10. Perché python compila l'origine in bytecode prima di interpretarlo?
- 11. Come incorporare il codice assembly in php?
- 12. È possibile trasformare il bytecode LLVM in bytecode Java?
- 13. L'interprete Bytecode JVM è un tracciatore JIT?
- 14. Compila intel assembly con gcc/mingw
- 15. Quando è impostato il sintetizzatore di accesso al codice bytecode JVM 0x1000 (hex) impostato "sintetico"?
- 16. Come posso esaminare il codice byte JVM per una funzione clojure?
- 17. Cosa sono i bytecode e come li gestisce JVM
- 18. Codice assembly in C++
- 19. GHC Core come "bytecode"?
- 20. Che cos'è una tabella di stackmap in bytecode jvm?
- 21. Perché Perl non si compila in file binari come python
- 22. Come si compila il codice in Eclipse utilizzando il tasto di scelta rapida
- 23. Come si compila un codice nativo semplice usando Android.mk?
- 24. Il codice C++ compila senza includere
- 25. Come si installano le dipendenze quando si compila il codice haskell?
- 26. Generazione di un bytecode JVM per un'espressione non unaria
- 27. Ridondanza codice assembly in codice C ottimizzato
- 28. Come si compila CoffeeScript in un Jakefile?
- 29. Come si esce correttamente da un monitor in bytecode?
- 30. Perché il seguente codice si traduce in una nuova istruzione + dup op in bytecode java?
prima cercare di non utilizzare '.java' per il montaggio del Java in quanto è la confusione. Io uso '.jasm' –
@ColeJohnson Grazie. Non sapevo di quella estensione di file. – Orcris
come sviluppatore, puoi etichettare i tuoi file come vuoi. Non esiste uno standard Ho appena scelto jasm per differenziarlo tra .asm e scelto j perché è come nasm, masm, ecc. (??? ASeMbler) –