Мы регулярно пишем статьи посвященные разработке и тестированию 64-битных программ на языке Си/Си++. Каждая из статей представляет взгляд на задачу разработки 64-битных программ с разных точек зрения. Но существенная часть информации в них повторяется, так как необходимо знакомить читателя с проблематикой и вводить различные определения. Это, к сожалению, делает чтение подборки статей скучным занятием и соответственно не позволяет всесторонне изучить вопросы разработки 64-битных приложений.
Мы решили объединить все наши знания в единый труд, в котором будут рассмотрены сразу все вопросы, касающиеся 64-битного программирования. Для оформления в виде статьи материала оказалась слишком много и мы решили представить его в виде курса уроков.
Кратко опишу курс "Уроки разработки 64-битных приложений на языке Си/Си++" и приведу его содержание.
Курс посвящен созданию 64-битных приложений на языке Си/Си++ и ориентирован на разработчиков, использующих среду Visual Studio 2005/2008. Разработчики для других 64-битных операционных систем также узнают много интересного. В курсе будут рассмотрены все этапы, позволяющие создать новое надежное 64-битное приложение или выполнить миграцию существующего 32-битного кода на 64-битную систему.
Курс состоит из 28 уроков, посвященных знакомству с 64-битными системами, вопросам сборки 64-битных приложений, методам поиска специфичных для 64-битного кода ошибок и оптимизации кода. Рассматриваются также вопросы, как оценка стоимости перехода на 64-битные системы и рациональность этого перехода.
Авторами курса являюсь я (к.ф.-м.н. Карпов Андрей Николаевич) и к.т.н. Рыжков Евгений Александрович. Соответственно мы готовы обсуждать здесь этот курс, давать пояснения, исправлять замеченные недочеты, учитывать ваше мнение.
Содержание курса:
Мы решили объединить все наши знания в единый труд, в котором будут рассмотрены сразу все вопросы, касающиеся 64-битного программирования. Для оформления в виде статьи материала оказалась слишком много и мы решили представить его в виде курса уроков.
Кратко опишу курс "Уроки разработки 64-битных приложений на языке Си/Си++" и приведу его содержание.
Курс посвящен созданию 64-битных приложений на языке Си/Си++ и ориентирован на разработчиков, использующих среду Visual Studio 2005/2008. Разработчики для других 64-битных операционных систем также узнают много интересного. В курсе будут рассмотрены все этапы, позволяющие создать новое надежное 64-битное приложение или выполнить миграцию существующего 32-битного кода на 64-битную систему.
Курс состоит из 28 уроков, посвященных знакомству с 64-битными системами, вопросам сборки 64-битных приложений, методам поиска специфичных для 64-битного кода ошибок и оптимизации кода. Рассматриваются также вопросы, как оценка стоимости перехода на 64-битные системы и рациональность этого перехода.
Авторами курса являюсь я (к.ф.-м.н. Карпов Андрей Николаевич) и к.т.н. Рыжков Евгений Александрович. Соответственно мы готовы обсуждать здесь этот курс, давать пояснения, исправлять замеченные недочеты, учитывать ваше мнение.
Содержание курса:
- Урок 01. Что такое 64-битные системы.
- Урок 02. Поддержка 32-битных приложений.
- Урок 03. Перенос кода на 64-битные системы. За и против.
- Урок 04. Создание 64-битной конфигурации.
- Урок 05. Сборка 64-битного приложения.
- Урок 06. Ошибки в 64-битном коде.
- Урок 07. Проблемы выявления 64-битных ошибок.
- Урок 08. Статический анализ для выявления 64-битных ошибок.
- Урок 09. Паттерн 01. Магические числа.
- Урок 10. Паттерн 02. Функции с переменным количеством аргументов.
- Урок 11. Паттерн 03. Операции сдвига.
- Урок 12. Паттерн 04. Виртуальные функции.
- Урок 13. Паттерн 05. Адресная арифметика.
- Урок 14. Паттерн 06. Изменение типа массива.
- Урок 15. Паттерн 07. Упаковка указателей.
- Урок 16. Паттерн 08. Memsize-типы в объединениях.
- Урок 17. Паттерн 09. Смешанная арифметика.
- Урок 18. Паттерн 10. Хранение в double целочисленных значений.
- Урок 19. Паттерн 11. Сериализация и обмен данными.
- Урок 20. Паттерн 12. Исключения.
- Урок 21. Паттерн 13. Выравнивание данных.
- Урок 22. Паттерн 14. Перегруженные функции.
- Урок 23. Паттерн 15. Рост размеров структур.
- Урок 24. Фантомные ошибки.
- Урок 25. Практическое знакомство с паттернами 64-битных ошибок.
- Урок 26. Оптимизация 64-битных программ.
- Урок 27. Особенности создания инсталляторов для 64-битного окружения.
- Урок 28. Оценка стоимости процесса 64-битной миграции Си/Си++ приложений.