Введение

Машинно-зависимое программное обеспечение – это программное обеспечение, которое работает только на конкретном компьютере. Приложения, работающие на различных компьютерных архитектурах, называются машинонезависимыми или кроссплатформенными. Многие организации предпочитают такое программное обеспечение, поскольку полагают, что машино-зависимое программное обеспечение является преимуществом и привлечет больше покупателей. Организации, которым необходимо, чтобы прикладное программное обеспечение работало на разнородных компьютерах, могут портировать его на другие машины. Для развертывания машино-зависимых приложений на таких архитектурах требуется их портирование. Эта процедура включает в себя написание или переписывание кода приложения для соответствия целевой платформе.

Портирование

Портирование — это процесс переноса приложения из одной архитектуры в другую. Языки программирования, такие как Java, разработаны таким образом, чтобы приложения могли переноситься между архитектурами без изменений исходного кода. Этот термин используется, когда программное обеспечение или оборудование изменяется для обеспечения его работоспособности в другой архитектуре. Код, который не работает корректно в определенной системе, необходимо портировать в другую систему. Объем работ по портированию зависит от нескольких факторов, включая степень различий между исходной и целевой средами, а также от опыта разработчиков в знании платформенно-зависимых диалектов программирования. Многие языки предлагают машинонезависимый промежуточный код, который может обрабатываться интерпретаторами, специфичными для платформы, для решения проблем несовместимости. Этот промежуточный код определяет виртуальную машину, способную выполнять все модули, написанные на этом промежуточном языке. Руководства по промежуточному коду интерпретируются генератором кода в различные варианты машинного кода для создания исполняемого кода. Промежуточный код также может выполняться напрямую, без статического преобразования в платформенно-специфичный код.

Подходы

Перенесите транслятор. Это можно реализовать в переносимом коде. Адаптируйте исходный код к новой машине. Выполните адаптированный исходный код, используя транслятор, а исходный код генератора кода – в качестве данных. Это сгенерирует машинный код для генератора кода.