Пару слов о переносимости

Пару слов о переносимости

Если говорить коротко, то написание переносимого, ясного и красивого кода подразумевает следующие два момента.

• Код необходимо разрабатывать с учетом самого общего сценария: следует предполагать, что все, что может случиться, обязательно случится, и принять на этот счет все возможные меры.

• Всегда необходимо все подводить под наибольший общий знаменатель: нельзя полагаться на то, что будут доступны все возможности ядра, следует опираться только на минимум возможностей, которые доступны всем аппаратным платформам.

Написание переносимого кода требует строгого учета многих факторов: размер машинного слова, размеры типов данных, выравнивание в памяти, порядок байтов, размер страницы, изменение порядка операций процессора и т.д. В большинстве случаев при программировании ядра следует гарантировать, что типы данных используются правильно. Тем не менее время от времени все равно всплывают проблемы, связанные с особенностью той или другой аппаратной платформы. Важно понимать проблемы, связанные с переносимостью, и всегда писать четкий и переносимый код ядра.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

3.1.8 Формулировки мобильности (переносимости)

Из книги Пакеты программ. Требования к качеству и тестирование автора Автор неизвестен

3.1.8 Формулировки мобильности (переносимости) В описание продукта могут быть внесены формулировки требований (правил) по мобильности


19.2.3.6. Рекомендованные практические приемы переносимости кода С/С++

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

19.2.3.6. Рекомендованные практические приемы переносимости кода С/С++ При написании программ на С используйте полные ANSI-функции. В частности, используйте прототипы функций, которые помогают выявить несовместимость между модулями. Старые компиляторы в стиле K&R — древняя


19.2.3.6. Рекомендованные практические приемы переносимости кода C/C++

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

19.2.3.6. Рекомендованные практические приемы переносимости кода C/C++ При написании программ на С используйте полные ANSI-функции. В частности, используйте прототипы функций, которые помогают выявить несовместимость между модулями. Старые компиляторы в стиле K&R — древняя


Пример 2 - еще через пару дней

Из книги Scrum и XP: заметки с передовой автора Книберг Хенрик

Пример 2 - еще через пару дней Через пару дней доска задач может выглядеть примерно так: Как видно, мы закончили историю «Депозит» (т.е. она была зафиксирована в системе контроля версий, протестирована, отрефакторена и т.д.) «Автоматическое обновление» сделано частично,


На раскопках слов

Из книги Добавьте в корзину. Ключевые принципы повышения конверсии веб-сайтов автора Айзенберг Джеффри

На раскопках слов Мы подробно изучили эту тему, используя данные, любезно предоставленные одним нашим старым клиентом. Его сайт помогает людям в решении личных проблем. Не так давно наш клиент внес некоторые исправления в его работу, что поразительным образом увеличило


Предложите пару вариантов на выбор

Из книги Справочник по CSS автора Коллектив авторов

Предложите пару вариантов на выбор Вы, может быть, удивитесь, но лучший способ усилить интерес посетителя к покупке – это ограничить его выбор двумя-тремя вариантами. При этом пользователю будет легче принять решение, и оно в любом случае приведет к покупке: «Вы


Пару вводных слов

Из книги Ководство автора Лебедев Артём Андреевич

Пару вводных слов Надо отметить, что фильтры отображаются только в браузерах Internet Explorer не ниже 4-ой версии.Синтаксис:"filter:имя_фильтра(параметр1=значение, параметр2=значение,...)"Некоторые фильтры могут быть без параметров.Фильтры деляться на статические и динамические.


§ 100.Без слов

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

§ 100.Без слов


33.9. Проблемы переносимости

Из книги Linux программирование в примерах автора Роббинс Арнольд

33.9. Проблемы переносимости Эта книга делает упор на создании сценариев для командной оболочки Bash, для операционной системы GNU/Linux. Тем не менее, многие рекомендации, приводимые здесь, могут быть вполне применимы и для других командных оболочек, таких как sh и ksh.Многие


9.6. Вопросы сопровождения и переносимости

Из книги Цифровой журнал «Компьютерра» № 224 автора Журнал «Компьютерра»

9.6. Вопросы сопровождения и переносимости Если вы решили включить в программу архитектурно-зависимые ассемблерные вставки. поместите их в отдельные макросы или функции, что облегчит сопровождение программы. Когда все макросы находятся в одном файле и задокументированы,


Приложение Adobe Voice для iPad позволит сделать за пару минут информативный ролик-презентацию Михаил Карпов

Из книги Графология XXI века автора Щеголев Илья Владимирович

Приложение Adobe Voice для iPad позволит сделать за пару минут информативный ролик-презентацию Михаил Карпов Опубликовано 08 мая 2014 Adobe выпустила приложение Voice для iPad, которое позволяет делать короткие видео на основе распознавания голоса, движущихся


Форма слов

Из книги Разработка ядра Linux автора Лав Роберт

Форма слов В процессе общения некоторые люди много и откровенно говорят о своих делах, планах и желаниях, другие же проявляют определенную сдержанность и даже скрытность. По почерку можно выявить степень откровенности, для этого необходимо обратить внимание на форму


История переносимости Linux

Из книги автора

История переносимости Linux Когда Линус Торвальдс впервые выпустил операционную систему Linux в ничего не подозревающий мир, эта ОС работала только на аппаратной платформе Intel i386. Хотя данная операционная система и была достаточно хорошо обобщена и хорошо написана,