1
УДК 004.057.5
К вопросу о переносимости кода
и некоторых возможностях использования
кроссплатформенного программного обеспечения
© А.В. Шикуть
МГТУ им. Н.Э. Баумана, Москва, 105005, Россия
Статья посвящена вопросам переносимости кода в приложениях на языке С/С++.
Рассмотрены основные проблемные вопросы, связанные с переносимостью кода на
другую платформу, а также некоторые наиболее широко используемые способы и
пути повышения переносимости, в том числе, путем использования кроссплат-
форменного программного обеспечения. Особое внимание уделено использованию в
приложениях кроссплатформенного графического интерфейса. Рассмотрена воз-
можность создания графического интерфейса с помощью кроссплатформенной
библиотеки GTK+ в среде свободного программирования QT creator.
Ключевые слова:
переносимость кода, кроссплатформенное программное обес-
печение, платформа, интерфейс, среда, приложение, среда программирования.
Одной из наиболее важных проблем в процессе разработки при-
ложений является проблема переносимости кода с одной платформы
на другую. Задача сделать приложение переносимым на другие
платформы является весьма актуальной и по сей день. Реально полу-
чаемый код зависит от особенностей реализации конкретного компи-
лятора и типа использованного процессора. Программа, написанная
на определенном языке программирования, требует определенного
компилятора для преобразования в машинный код для данного про-
цессора. При этом программа, которая поддается переносу на другой
компьютер, оснащенный другой операционной системой и другим
процессором, считается переносимой, мобильной, машинонезависи-
мой. Одним из путей повышения переносимости кода является ис-
пользование кроссплатформенного программного обеспечения. Про-
граммное обеспечение, работающее более чем на одной платформе,
является кроссплатформенным.
Известно, что переносимость приложений зависит от многих фак-
торов. В первую очередь, следует назвать аппаратную платформозави-
симость. Так как машинный код программы содержит команды вполне
определенного процессора, то исполняемый файл не может быть запу-
щен на другой аппаратной платформе, содержащей аппаратный и про-
граммный комплекс, который является основой только для определен-
ной вычислительной системы. При этом следует учитывать особенно-
сти кода, написанного под разные архитектуры по разрядности машин-
ного слова и адреса (с 8-, 16-, 32-, 64-разрядной адресацией).