Введение
Дисциплина «Разработка кроссплатформенных программных систем» преподаётся студентам 4-го курса Института информационных технологий, обучающимся по направлению подготовки 09.03.04 «Программная инженерия».
Эта дисциплина предназначена для студентов, знакомых с основными алгоритмами и структурами данных, владеющих языками программирования Python, C/C++ и Java, способных разрабатывать программное обеспечение (ПО), пригодное для практического использования.
В пособии рассматриваются вопросы кроссплатформенной адаптации ПО на языке C, который широко используется в области системного программирования и встраиваемых систем, а также практические задачи, программное решение которых демонстрировалось на лекционных и семинарских занятиях в РТУ МИРЭА в 2025-2026 учебном году. Изложение имеет практическую направленность и отличается фундаментальным подходом к выбору материала.
В частности, приводится разбор подходов к написанию переносимого кода для платформ с разным порядком байт, различающимся размером и выравниванием данных одного и того же типа. Кроме того, рассматриваются вопросы кроссплатформенной адаптации приложений на языке C, работающих с графикой, для ОС Windows, ОС Linux и для веб-браузеров, а также особенности построения архитектуры программных систем с графическим пользовательским интерфейсом (Graphical User Interface, GUI) на основе переносимого и платформозависимого модулей, взаимодействующих посредством программного интерфейса (Application Programming Interface, API), представляющего собой промежуточный слой абстракции от платформы. В конце каждого раздела пособия приведен ряд задач для самостоятельного выполнения студентами.
В книге также приводится разбор двух типов задач для итоговой проверки знаний студентов, приведены дополнительные варианты задач каждого типа для самостоятельного выполнения студентами. В РТУ МИРЭА варианты этих задач генерируются автоматически для каждого студента.