Linux - статьи

Построение переносимого кода


В основе переносимого кода Delphi-Kylix лежит независимый от платформы формат модулей и архитектура CLX. Последнее обозначает Borland Component Library for Cross-Platform. В результате компиляции строятся файлы в естественном для Linux формате ELF, а также в формате общих библиотек.so. Как и Delphi, Kylix использует прямую компиляцию в процессорные команды, то есть скорость приложений сопоставима с кодом на С++.

Как и в случае с Delphi, разработчик может (в ущерб переносимости) использовать системные функции, а также вызовы Linux API и других специфичных для платформы библиотек. Если вы разрабатываете компонент CLX, используя вызовы низкого уровня, и хотите сделать его универсальным,- можете использовать условную компиляцию, проверяя, определены ли символы LINUX и WIN32 соответственно c помощью предложения $IFDEF/#ifdef. Для абсолютных экстремалов по-прежнему существует возможность писать фрагменты кода на inline-ассемблере.

Для того чтобы писать переносимый код, предназначенный для обоих платформ, не следует использовать другие (кроме изоляции системных вызовов) особенности платформы: реестр Windows, вызовы оконных функций SendMessage и PostMessage и т.п. Не следует также забывать, что в Linux имена файлов и каталогов всегда учитывают регистр, так что следует обратить внимание на их правильное написание, в случаях когда имена задаются литерально.



Содержание раздела