Кроссплатформенное программное обеспечение

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск

Кроссплатформенное программное обеспечениепрограммное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе.

Содержание

[править] Языки программирования

Кроссплатформенными можно назвать большинство современных высокоуровневых языков программирования. Например, C, С++ и Free Pascal кроссплатформенные языки на уровне компиляции, то есть для этих языков есть компиляторы под различные платформы. Java и C# кроссплатформенные языки на уровне выполнения, то есть их исполняемые файлы можно запускать на различных платформах без предварительной перекомпиляции. PHP, Perl, Python, Tcl и Ruby кроссплатформенные интерпретируемые языки, их интерпретаторы существуют для многих платформ.

[править] Прикладные программы

Большое количество прикладных программ также являются кроссплатформенными. Особенно это качество выражено у программ, изначально разработанных для UNIX-подобных операционных систем. Важным условием их переносимости на другие платформы является совместимость платформ с рекомендациями POSIX, а также существование компилятора GCC для платформы, на которую осуществляется перенос.

Примеры:

[править] Операционные системы

Современные операционные системы также часто являются кроссплатформенными. Например, операционные системы с открытым исходным кодом, например, NetBSD, GNU/Linux, FreeBSD, AROS могут работать на нескольких различных платформах, чаще всего это x86, m68k, PowerPC, Alpha, AMD64, SPARC. Microsoft Windows может работать как на платформе Intel x86, так и на Intel Itanium. Операционная система NetBSD является самой переносимой[источник не указан 54 дня], она портирована на большинство существующих платформ.

[править] Эмуляция

Если программа не предназначена для исполнения (запуска) на определённой платформе, но для этой платформы существует эмулятор платформы, базовой для данной программы, то программа может быть исполнена в среде эмулятора.

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

[править] См. также

[править] Ссылки