предположим, что это простая Java-программа: -
//FileName: Temp.java
class Temp {
public static void main(String[] args) {
System.out.println("Hello Java");
}
}
Чтобы выполнить приведенный выше код, мы должны выполнить команду: -
javac Temp.java
// После компиляции мы получим Temp.class(хранится в том же каталоге)
java Temp.class
Итак, я хотел написать программу в NASM (Linux, 64-разрядная версия), которая получает входной файл (.java) через командную строку и сохраняетрезультат компилятора (javac) в самой оперативной памяти и выполнения программы с помощью команды java
, предоставив адрес памяти для команды java.
Я обнаружил system()
gcc функцию для выполнения командной строки. Но я понятия не имею, как сохранить javac
результат в ОЗУ и выполнить java-программу, указав адрес памяти для команды java
для выполнения java-программы.
Или можно ли написать такую программу?