Правила кодирования Статический и динамический полиморфизм Применение механизма свойств (traits) при создании многоплатформенных библиотек Классификация платформ




НазваниеПравила кодирования Статический и динамический полиморфизм Применение механизма свойств (traits) при создании многоплатформенных библиотек Классификация платформ
Дата конвертации11.03.2013
Размер544 b.
ТипПравила


Технологии создания многоплатформенного игрового движка

  • Максим Строев


Темы обсуждения

  • Классификация платформ

  • Обзор средств разработки

  • Обзор аппаратных особенностей

  • Особенности представления графических и звуковых данных



Темы обсуждения

  • Поддержка компиляторами стандарта С++

  • Правила кодирования

  • Статический и динамический полиморфизм

  • Применение механизма свойств (traits) при создании многоплатформенных библиотек



Классификация платформ

  • Игровые платформы

    • PC, Playstation, Xbox, GameCube и т.д.
    • Наличие мощных аппаратных графических и звуковых подсистем
    • Наличие специализированного API для создания игр


Классификация платформ

  • Универсальные платформы

    • PDA (PocketPC, Palm)
    • Отсутствие API для создание игр
    • Сложность реализации высококачественного вывода графики и звука


Обзор средств разработки

  • GCC/EGCS

    • Стандартизированность использования
    • Богатый вспомогательный инструментарий
    • Хорошая поддержка С/С++ (исключение: EGCS)
    • Бесплатность и открытость развития
    • Плохое тестирование и слабые оптимизационные возможности для «непопулярных» платформ


Обзор средств разработки

  • RedHat GNUPro Developer Tools

    • Стабильность разработки и тестирования
    • Стандартизованность использования
    • Богатый вспомогательный инструментарий
    • Поддержка большого количества embedded систем
    • Высокая стоимость тех. поддержки RedHat и обновлений


Обзор средств разработки

  • Metrowerks CodeWarrior Development Studio

    • Хорошая поддержка С/С++
    • Специфическая среда разработки
    • Коммерческий


Обзор средств разработки

  • Microsoft eMbedded Visual C++

    • Плохая поддержка языка С++
    • Специфическая среда разработки (но: поддержка makefile)


Обзор аппаратных особенностей

  • Что следует учитывать при разработке?

  • Endianess (big-endian, little-endian)

    • Запись бинарных данных в одном endian, чтение на платформе с другим


Обзор аппаратных особенностей

  • Что следует учитывать при разработке?

  • Endianess (big-endian, little-endian)

    • Запись бинарных данных в одном endian, чтение на платформе с другим
  • Разрядность фундаментальных типов данных С++



Обзор аппаратных особенностей

  • Что следует учитывать при разработке?

  • Endianess (big-endian, little-endian)

    • Запись бинарных данных в одном endian, чтение на платформе с другим
  • Разрядность фундаментальных типов данных С++

  • Выравнивание (alignment)

    • Требования и рекомендации
    • Natural alignment requirements


Особенности представления графических и звуковых данных

  • Представление:

    • внутренние
    • внешнее
  • Внутренние представление:

    • «рефлексивное» представление
    • внешнее описание прозрачности


Статический и динамический полиморфизм

  • Динамический полиморфизм

    • Механизмы наследования и виртуальных функций
    • Тип выражения определяется во время исполнения


Статический и динамический полиморфизм

  • Статический полиморфизм

    • Параметризация одного типа другим
    • Реализуется на этапе компиляции
    • Специализация шаблонов
  • Почему важен?

  • На этапе компиляции известны типы реализаций для целевой платформы.



Механизм свойств (traits)

  • Свойства (traits) являются множеством связанных типов и функций для применения данных типов.

  • Как это работает?



Механизм свойств (traits)

  • Использование типов-тэгов для определения платформы.



Механизм свойств (traits)

  • Реализация класса Mutex для нескольких платформ c применением динамического полиморфизма.



Механизм свойств (traits)

  • Недостатки:

    • Необходимость «фабрики реализаций»
    • Потеря оптимизации из-за наличия виртуальных вызовов
    • Ограничение предоставляемых возможностей объявленным интерфейсом
    • Отсутствие необходимости в динамическом полиморфизме


Механизм свойств (traits)

  • Реализация класса Mutex для нескольких платформ c применением статического полиморфизма.



Механизм свойств (traits)

  • Реализация класса Mutex для нескольких платформ c применением статического полиморфизма.



Похожие:

Правила кодирования Статический и динамический полиморфизм Применение механизма свойств (traits) при создании многоплатформенных библиотек Классификация платформ iconКлассификация и кодирование Классификация и ее виды. Системы кодирования информации
Классификация и ее виды. Системы кодирования информации Классификацию информации, циркулирующей в организации
Правила кодирования Статический и динамический полиморфизм Применение механизма свойств (traits) при создании многоплатформенных библиотек Классификация платформ iconРепозиторий ( научный электронный архив) Севнту
Таким образом, создание доступных электронных архивов стало одной из важнейших задач университетских библиотек, в т ч и библиотек...
Правила кодирования Статический и динамический полиморфизм Применение механизма свойств (traits) при создании многоплатформенных библиотек Классификация платформ iconПрименение производной при решении задач применение производной при решении задач
Перевести задачу на язык функций выбрать удобный параметр (х), через который интересующую нас величину выразить как функцию f(x)
Правила кодирования Статический и динамический полиморфизм Применение механизма свойств (traits) при создании многоплатформенных библиотек Классификация платформ iconТема: Классификация понятий Классификация
Классификация помогает навести порядок в наших знаниях, «разложить их по полочкам»
Правила кодирования Статический и динамический полиморфизм Применение механизма свойств (traits) при создании многоплатформенных библиотек Классификация платформ iconПравила разговора по телефону цели и задачи проекта
Дать образцы речевых фраз, употребляемых обычно при телефонных разговорах. Рассмотреть различные ситуации при ведении телефонных...
Правила кодирования Статический и динамический полиморфизм Применение механизма свойств (traits) при создании многоплатформенных библиотек Классификация платформ iconОсобую роль при создании обучающей среды играет использование технологий и методов обучения
Особую роль при создании обучающей среды играет использование технологий и методов обучения. Здесь Важно отметить роль игровых технологий,...
Правила кодирования Статический и динамический полиморфизм Применение механизма свойств (traits) при создании многоплатформенных библиотек Классификация платформ iconПравила радиационной защиты при работе с кт критерии качества для кт изображений Принципы и технология кт принципы и технология кт
Применение принципов радиационной защиты для ктсканеров,конструирование, контроль качества и дозиметрия
Правила кодирования Статический и динамический полиморфизм Применение механизма свойств (traits) при создании многоплатформенных библиотек Классификация платформ iconЗаконы де Мо́ргана (правила де Мо́ргана) логические правила, связывающие пары дуальных логических операторов при помощи логического отрицания

Правила кодирования Статический и динамический полиморфизм Применение механизма свойств (traits) при создании многоплатформенных библиотек Классификация платформ iconЛекция 5 Классификация грамматик по Хомскому Линейные грамматики Определение 1
Грамматика g = (N, , P, S) называется линейной, если все ее правила имеют вид  либо , где   N,  N,   *,   *
Правила кодирования Статический и динамический полиморфизм Применение механизма свойств (traits) при создании многоплатформенных библиотек Классификация платформ iconУчебный курс Технологии открытых систем Лекция 6 Средства обеспечения при создании открытых информационных систем (оис) руководитель Центра открытых систем ирэ ран, д т. н., профессор
Технологии открытых систем Лекция 6 Средства обеспечения при создании открытых информационных систем (оис)
Разместите кнопку на своём сайте:
hnu.docdat.com


База данных защищена авторским правом ©hnu.docdat.com 2012
обратиться к администрации
hnu.docdat.com
Главная страница