Метки: Кроссплатформенное программное обеспечение представляет собой, что такое кроссплатформенное программное обеспечение, кроссплатформенное программное обеспечение картинки, кроссплатформенное программное обеспечение реферат, кроссплатформенное программное обеспечение это, кроссплатформенное программное обеспечение.
Кроссплатформенное (межплатформенное) программное обеспечение — программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе. Типичным примером является программное обеспечение, предназначенное для работы в операционных системах Linux и Windows одновременно.
Содержание |
Кроссплатформенными можно назвать большинство современных высокоуровневых языков программирования. Например, C, С++, PureBasic и Free Pascal — кроссплатформенные языки на уровне компиляции, то есть для этих языков есть компиляторы под различные платформы.
Не менее важны для кроссплатформенности стандартизованные библиотеки времени выполнения. В частности, стандартом стала библиотека языка Си (см. POSIX). Из крупных кроссплатформенных библиотек — Qt, GTK+, FLTK, STL, Boost, OpenGL, SDL, OpenAL, OpenCL.
Ещё на заре ПК компания IBM сделала свой персональный компьютер совместимым с CP/M. Это позволило запускать на нём уже имеющиеся программы.
PHP, ActionScript, Perl, Python, Tcl и Ruby — кроссплатформенные интерпретируемые языки, их интерпретаторы существуют для многих платформ.
Среды исполнения Java Virtual Machine и .NET также кроссплатформенны, однако на их вход подаётся не исходный текст, а промежуточный код. Поэтому программы, написанные на Java и C#, можно запускать под разными ОС без предварительной перекомпиляции.
На разных ОС — независимо от того, как технически достигнута работа в них — стандартные элементы интерфейса имеют разные размеры. Поэтому простое жёсткое позиционирование элементов интерфейса невозможно — под другой ОС они могут налезать друг на друга. Существует несколько подходов.
В любом случае, под другими ОС требуется хотя бы минимальное тестирование, так как возможны ошибки компоновки.
Даже несмотря на широкую, в общем, стандартизацию аппаратного и программного обеспечения, программисту часто приходится налаживать ветви под разные ОС, включая ту или другую с помощью условной компиляции.
Браузер Mozilla Firefox имеет разные комплекты иконок под разные ОС.
Большое количество прикладных программ также являются кроссплатформенными. Особенно это качество выражено у программ, изначально разработанных для UNIX-подобных операционных систем. Важным условием их переносимости на другие платформы является совместимость платформ с рекомендациями POSIX, а также существование компилятора GCC для платформы, на которую осуществляется перенос.
Примеры:
Современные операционные системы также часто являются кроссплатформенными. Например, операционные системы с открытым исходным кодом, например, NetBSD, Linux, FreeBSD, AROS могут работать на нескольких различных платформах, чаще всего это x86, m68k, PowerPC, Alpha, AMD64, SPARC. Microsoft Windows может работать как на платформе Intel x86, так и на Intel Itanium (точнее, для Itanium есть только версии Windows 2000/XP, Windows 2003 и Windows 2008, после чего поддержка была свёрнута). Операционная система NetBSD является самой переносимой[1], она портирована на большинство существующих платформ.
Если программа не предназначена для исполнения (запуска) на определённой платформе, но для этой платформы существует эмулятор платформы, базовой для данной программы, то программа может быть исполнена в среде эмулятора.
Обычно исполнение программы в среде эмулятора приводит к снижению производительности по сравнению с аналогичными программами, для которых платформа является базовой, так как значительная часть ресурсов системы расходуется на выполнение функций эмулятора.
Tags: Кроссплатформенное программное обеспечение представляет собой, что такое кроссплатформенное программное обеспечение, кроссплатформенное программное обеспечение картинки, кроссплатформенное программное обеспечение реферат, кроссплатформенное программное обеспечение это, кроссплатформенное программное обеспечение.