Также в QNX4 вы
struct sigevent
к вектору прерывания, используя Резюме
Перенос приложений из QNX4 в QNX/Neutrino или поддержка программы, функционирующей в обеих операционных системах, — это возможно, если придерживаться следующих правил:
• абстрагировать, абстрагировать и еще раз абстрагировать;
• развязывать, развязывать и еще раз развязывать.
Ключ в том, чтобы отказаться от использования конкретного «дескриптора», который «связывал» бы клиента с сервером, и не привязываться к конкретному механизму обнаружения сервера. Если вы абстрагируете операции обнаружения сервера и установления соединения в отдельный набор функций, то вы сможете производить условную компиляцию для любой платформы, на которую вы пожелаете перенести ваш код.
Аналогичные рассуждения применимы и к транспортировке сообщений — всегда абстрагируйте клиентский API от «понимания» того, как сообщение доставляются от клиента к серверу, в некоторый универсальный API, который уже бы базировался на конкретном транспортном API. Затем этот конкретный транспортный API можно будет условно откомпилировать для любой платформы.
Перенос
Приложение Б
Скорая помощь
Обращайтесь за помощью к профессионалам
Независимо от того, насколько вы хороший программист, иногда возникают моменты, когда вы:
• сталкиваетесь с проблемой, которую не можете решить;
• выявили ошибку и хотите сообщить о ней и/или найти обходной путь;
• сталкиваетесь с необходимостью консультации по реализации проекта.
В этой главе мы рассмотрим ресурсы, необходимые при разрешении подобных проблем.
Итак, у вас проблема...
Мы обсудим первые две проблемы вместе, потому что подчас бывает трудно определить, с которой из них имеешь дело.
Предположим, что что-то вдруг перестало работать или работает не так, как ожидается. Что делать?
RTFM
Читайте документацию! (Оригинальный перевод аббревиатуры RTFM широко известен, поэтому приводить его здесь не будем; любопытные могут затянуть в словарь — например, http://www.instantweb.com/foldoc/
Все нижеперечисленные справочные руководства по QNX/Neutrino доступны он-лайн:
•
•
•
•
•
•
В этой книге содержится вся информация, необходимая для встраивания QNX/Neutrino — то есть чтобы создать систему на основе QNX/Neutrino и заставить ее работать. В ней есть главы по среде разработки программных продуктов (как компилировать, компоновать и отлаживать программы для QNX/Neutrino), построению образа ОС (как создать образ, как встроить этот образ глубоко встраиваемую систему, как заставить его работать на нужной платформе), а также кое-какие общие рекомендации по проектированию.
Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT