Вопрос

(1) В итоге: что все это должно принять, чтобы сделать исполняемой программы в определенной операционной системе? машинный код, язык сборки?

(2) Должен ли он быть прочитаемым, чтобы быть выполненным каким-либо ЦП?

(3) Какую роль играет операционная система, когда выполняется программа? Имеет ли это какое -либо отношение к помощи системе интерпретировать код программы?

(4) и в свете ПК Windows необходимо ли быть всем программам. Почему виртуальная машина Java?

(5) Как работает декомпилятор? В чем разница между программами, составленными с машинным кодом и языком сборки?

Огромное спасибо!!

Это было полезно?

Решение

  1. Это полностью зависит от операционной системы. Теоретически, у вас может быть ОС, которая интерпретировала исходный код COBOL на лету. Но, как правило, вам понадобятся исполняемые файлы определенного формата, которые ОС может загружать в память и работать. Итак, машинный код это.

  2. Опять же, это зависит от процессора. Подавляющее большинство (все те, о которых я знаю) будет запускать свой собственный машинный код.

  3. ОС предоставляет метод запуска ваших приложений и предоставляет услуги поддержки для этих приложений.

  4. Нет. Если вы хотите, чтобы они казнили, они должны быть определенного формата, но это не обязательно подразумевает exe расширение. И хотя ты считать Вы запускаете файл класса Java, в действительности вы запускаете JVM, который является исполняемым файлом. Это просто интерпретирует файл класса (игнорируя материал JIT для простоты, который превращает байткоды Java в необработанную машинную код для эффективности. Вы можете «выполнить» файлы классов Java, сценарии PowerShell, cmd Сценарии и так далее.

  5. Декомпилятор пытается превратить скомпилированный файл (EXE, файл класса, байт -код Python и т. Д.) В ее исходную форму или, по крайней мере, что -то близкое к этому.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top