﻿# Курс по разработке 64\-битных приложений на языке C и C\+\+


> Данный курс был разработан в 2010 году\\\. Однако он не потерял актуальность, и приведённая в нём информация вполне релевантна для современных версий Visual Studio\\\.

Курс посвящён созданию 64\-битных приложений на языке C/C\+\+ и ориентирован на разработчиков Windows\-приложений, использующих среду Visual Studio 2005/2008/2010\. Разработчики для других 64\-битных операционных систем также узнают много интересного\. В курсе будут рассмотрены все этапы, позволяющие создать новое надежное 64\-битное приложение или выполнить миграцию существующего 32\-битного кода на 64\-битную систему\. 

Курс состоит из 28 уроков, посвящённых знакомству с 64\-битными системами, вопросам сборки 64\-битных приложений, методам поиска специфичных для 64\-битного кода ошибок и оптимизации кода\. Рассматриваются такие вопросы, как оценка стоимости перехода на 64\-битные системы и рациональность этого перехода\.

**Авторами курса являются:** 

* к\.ф\.\-м\.н\. Карпов Андрей Николаевич;
* к\.т\.н\. Рыжков Евгений Александрович\. 

Авторы занимаются вопросами обеспечения качества 64\-битных приложений и участвуют в разработке статического анализатора кода PVS\-Studio для верификации кода ресурсоемких приложений\.

**Правообладателем курса** является ООО "Системы программной верификации"\. 

* [Сайт компании](https://pvs-studio.ru/ru/)\. 
* Контактная информация: e\-mail: [support@viva64\.com](mailto:support@viva64.com)\.

**Содержание курса**

* [Урок 01](https://pvs-studio.ru/ru/blog/lessons/0001/)\. Что такое 64\-битные системы\.
* [Урок 02](https://pvs-studio.ru/ru/blog/lessons/0002/)\. Поддержка 32\-битных приложений\.
* [Урок 03](https://pvs-studio.ru/ru/blog/lessons/0003/)\. Перенос кода на 64\-битные системы\. За и против\.
* [Урок 04](https://pvs-studio.ru/ru/blog/lessons/0004/)\. Создание 64\-битной конфигурации\.
* [Урок 05](https://pvs-studio.ru/ru/blog/lessons/0005/)\. Сборка 64\-битного приложения\.
* [Урок 06](https://pvs-studio.ru/ru/blog/lessons/0006/)\. Ошибки в 64\-битном коде\.
* [Урок 07](https://pvs-studio.ru/ru/blog/lessons/0007/)\. Проблемы выявления 64\-битных ошибок\.
* [Урок 08](https://pvs-studio.ru/ru/blog/lessons/0008/)\. Статический анализ для выявления 64\-битных ошибок\.
* [Урок 09](https://pvs-studio.ru/ru/blog/lessons/0009/)\. Паттерн 01\. Магические числа\.
* [Урок 10](https://pvs-studio.ru/ru/blog/lessons/0010/)\. Паттерн 02\. Функции с переменным количеством аргументов\.
* [Урок 11](https://pvs-studio.ru/ru/blog/lessons/0011/)\. Паттерн 03\. Операции сдвига\.
* [Урок 12](https://pvs-studio.ru/ru/blog/lessons/0012/)\. Паттерн 04\. Виртуальные функции\.
* [Урок 13](https://pvs-studio.ru/ru/blog/lessons/0013/)\. Паттерн 05\. Адресная арифметика\.
* [Урок 14](https://pvs-studio.ru/ru/blog/lessons/0014/)\. Паттерн 06\. Изменение типа массива\.
* [Урок 15](https://pvs-studio.ru/ru/blog/lessons/0015/)\. Паттерн 07\. Упаковка указателей\.
* [Урок 16](https://pvs-studio.ru/ru/blog/lessons/0016/)\. Паттерн 08\. Memsize\-типы в объединениях\.
* [Урок 17](https://pvs-studio.ru/ru/blog/lessons/0017/)\. Паттерн 09\. Смешанная арифметика\.
* [Урок 18](https://pvs-studio.ru/ru/blog/lessons/0018/)\. Паттерн 10\. Хранение в double целочисленных значений\.
* [Урок 19](https://pvs-studio.ru/ru/blog/lessons/0019/)\. Паттерн 11\. Сериализация и обмен данными\.
* [Урок 20](https://pvs-studio.ru/ru/blog/lessons/0020/)\. Паттерн 12\. Исключения\.
* [Урок 21](https://pvs-studio.ru/ru/blog/lessons/0021/)\. Паттерн 13\. Выравнивание данных\.
* [Урок 22](https://pvs-studio.ru/ru/blog/lessons/0022/)\. Паттерн 14\. Перегруженные функции\.
* [Урок 23](https://pvs-studio.ru/ru/blog/lessons/0023/)\. Паттерн 15\. Рост размеров структур\.
* [Урок 24](https://pvs-studio.ru/ru/blog/lessons/0024/)\. Фантомные ошибки\.
* [Урок 25](https://pvs-studio.ru/ru/blog/lessons/0025/)\. Практическое знакомство с паттернами 64\-битных ошибок\.
* [Урок 26](https://pvs-studio.ru/ru/blog/lessons/0026/)\. Оптимизация 64\-битных программ\.
* [Урок 27](https://pvs-studio.ru/ru/blog/lessons/0027/)\. Особенности создания инсталляторов для 64\-битного окружения\.
* [Урок 28](https://pvs-studio.ru/ru/blog/lessons/0028/)\. Оценка стоимости процесса 64\-битной миграции Си/Си\+\+ приложений\.

**Объем курса:** курс предполагает самостоятельное знакомство с каждым из 28 уроков в течение 20\-40 минут\. Общее время изучения материала составляет примерно 18 часов\.

Вы можете открыть все уроки в виде [одного файла](https://pvs-studio.ru/ru/blog/lessons/full/) \(в том числе и версию для печати\)\. Этот общий файл можно напечатать либо на обычном принтере, либо, к примеру, преобразовать в pdf\-файл с помощью pdf\-принтера\.