К вопросу о переносимости кода и некоторых возможностях использования кроссплатформенного программного обеспечения - page 4

А.В. Шикуть
4
пиляторами или интерпретаторами. Программа на интерпретируемом
языке выполняется специальной программой, называемой интерпре-
татором. При этом программа остается на исходном языке и не может
быть запущена без интерпретатора.
Компилятор GCC (GNU Compiler Collection) — это кроссплат-
форменный, свободно распространяемый набор компиляторов, в ко-
торый входит в том числе и компилятор языка С++ — g++ [2]. GCC
включает в себя возможности компоновщика и позволяет создавать
программы под несколько десятков аппаратных платформ и под
множество операционных систем, включая GNU/Linux, MS Windows,
Mac OC и BSD.
Известны кроссплатформенные интерпретируемые языки, интер-
претаторы которых существуют для многих платформ. Примерами
интерпретируемых языков являются ActionScript, Perl, Python, Ruby,
PHP, MathCad.
Некоторые языки, например, Java и С#, находятся между компи-
лируемыми и интерпретируемыми [3]. В таком случае сначала про-
грамма компилируется не в машинный код, а в машинно-
независимый код низкого уровня, байт-код; затем байт-код выполня-
ется виртуальной машиной. Для выполнения байт-кода обычно ис-
пользуется интерпретация, хотя отдельные его части для ускорения
работы программы могут быть транслированы в машинный код
непосредственно во время выполнения программы по технологии
компиляции «на лету» (Just-in-time compilation, JIT). Для Java байт-
код исполняется виртуальной машиной Java (Java Virtual Machine,
JVM), для C# — Common Language Runtime. Среды исполнения Java
Virtual Machine и .NET также являются кроссплатформенными, а
программы, написанные на Java и С#, могут быть запущены под раз-
ными ОС без предварительной перекомпиляции.
Виртуальные машины также можно запускать под разные
платформы. В таком случае программы будут являться кроссплат-
форменными. Таковыми можно назвать большинство современных
языков программирования. Например, С, С++ и Free Pascal —
кроссплатформенные языки на уровне компиляции, т.е. для этих
языков имеются компиляторы под различные платформы. Не ме-
нее важным для кроссплатформенности являются стандартизован-
ные библиотеки времени выполнения. Так, например, стандартом
является библиотека языка С. Из крупных кроссплатформенных
библиотек следует назвать Qt, GTK+, STL, FLTK, Boost, SDL,
OpenAl, OpenCl.
Использование кроссплатформенного пользовательского ин-
терфейса.
Особого внимания заслуживает кроссплатформенный
пользовательский интерфейс. Дело в том, что на разных ОС стан-
1,2,3 5,6,7,8
Powered by FlippingBook