На сайте www.viva64.com выложен курс "Уроки разработки 64-битных приложений на языке Си/Си++" на русском языке. Авторами курса являются: к.ф.-м.н. Карпов Андрей Николаевич и к.т.н. Рыжков Евгений Александрович. Авторы занимаются вопросами обеспечения качества 64-битных приложений и участвуют в разработке статического анализатора кода PVS-Studio для верификации кода ресурсоемких приложений. Ниже будет — полное описание курса и ссылка на уроки. А поскольку я являюсь одним из авторов, в комментариях к сообшению можно пообщаться .
Описание курса "Уроки разработки 64-битных приложений на языке Си/Си++"
Курс посвящен созданию 64-битных приложений на языке Си/Си++ и ориентирован на разработчиков, использующих среду Visual Studio 2005/2008. Разработчики для других 64-битных операционных систем также узнают много интересного. В курсе будут рассмотрены все этапы, позволяющие создать новое надежное 64-битное приложение или выполнить миграцию существующего 32-битного кода на 64-битную систему.
Курс состоит из 28 уроков, посвященных знакомству с 64-битными системами, вопросам сборки 64-битных приложений, методам поиска специфичных для 64-битного кода ошибок и оптимизации кода. Рассматриваются также вопросы, как оценка стоимости перехода на 64-битные системы и рациональность этого перехода.
Авторами курса являются: к.ф.-м.н. Карпов Андрей Николаевич и к.т.н. Рыжков Евгений Александрович. Авторы занимаются вопросами обеспечения качества 64-битных приложений и участвуют в разработке статического анализатора кода PVS-Studio для верификации кода ресурсоемких приложений.
Правообладателем курса является ООО "Системы программной верификации". Сайт компании: http://www.viva64.com. Контактная информация: e-mail: support@viva64.com, 300027, г. Тула, а/я 1800.
Содержание курса:
Урок 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-битной миграции Си/Си++ приложений.
Объем курса: курс предполагает самостоятельное знакомство с каждым из 28 уроков в течение 20-40 минут. Общее время изучения материала составляет примерно 18 часов.
Евгений Рыжков
ООО "СиПроВер"
Re: Уроки разработки 64-битных приложений на языке Си/Си++
Жесть. Вам реально приходится работать с таким кодом? Имхо, это больше рекламный трюк ("Есть урок про исключения!"), т.к. исключения ведь по сути здесь непричем...
Re[2]: Уроки разработки 64-битных приложений на языке Си/Си+
Все относительно, причем или нет. Мы можем вообще все в несколько формул свернуть. Такая попытка, правда не до конца, была проделана здесь. Вот только толку от такого описания нет. Очень кратко, универсально и СОВЕРШЕННО невозможно для чтения. Здесь исключения выделили в отдельный урок. Возможно этот урок несколько натянут, но зато хорошо логически отделен.
А качество кода оно разное бывает. И подобные странные ошибки бывают. Просто когда их очищаешь и упрощаешь, то они кажутся дикими и невозможными в нормальном коде. Но в реальных приложениях все бывает гораздо запутаннее и замаскированнее.
Re: Уроки разработки 64-битных приложений на языке Си/Си++
Здравствуйте, Евгений Рыжков, Вы писали:
ЕР>Объем курса: курс предполагает самостоятельное знакомство с каждым из 28 уроков в течение 20-40 минут. Общее время изучения материала составляет примерно 18 часов.
А одним файлом можно выкачать? В спокойной обстановке почитать
Re[2]: Уроки разработки 64-битных приложений на языке Си/Си+
Здравствуйте, kvasya, Вы писали:
K>Здравствуйте, Евгений Рыжков, Вы писали:
ЕР>>Объем курса: курс предполагает самостоятельное знакомство с каждым из 28 уроков в течение 20-40 минут. Общее время изучения материала составляет примерно 18 часов.
K>А одним файлом можно выкачать? В спокойной обстановке почитать
Пока так не делали, поскольку читать от начала и до конца разом — никаких сил не хватит . То есть как бы не очевидна польза одного файла. Можете пояснить, чем один файл лучше нескольких? Сразу скажу, что рекламы на сайте никакой нет и не будет, так что большое количество просмотров уж точно не было целью разделения на отдельные уроки.
Евгений Рыжков
ООО "СиПроВер"
Re[3]: Уроки разработки 64-битных приложений на языке Си/Си+
Здравствуйте, Евгений Рыжков, Вы писали:
ЕР>Можете пояснить, чем один файл лучше нескольких?
Тем, что его можно скачать и читать на КПК в метро, к примеру.
Re[4]: Уроки разработки 64-битных приложений на языке Си/Си+
Здравствуйте, Евгений Рыжков, Вы писали:
ЕР>На сайте www.viva64.com выложен курс
Если опираясь на изложенные выше факторы, вы приняли решение о разработке 64-битной версии вашего продукта и готовы потратить на это время, это еще не гарантирует успех. Дело в том, что вы должны обладать всем необходимым инструментарием, и здесь могут быть скрыты неприятные казусы.
Самой очевидной, но и самой непреодолимой, может стать проблема отсутствия 64-битного компилятора. Когда пишется этот текст (2009 год), все еще нет 64-битного компилятора C++ Builder от Embarcadero. Его выпуск ожидается только к концу этого года. Невозможно обойти подобную проблему, если конечно не переписать весь проект, например, с использованием Microsoft Visual Studio.
ё-маё... и Вы хотите кого-то чему-то учить с таким-то умолчальным компилятором?
Re[2]: Уроки разработки 64-битных приложений на языке Си/Си+
Здравствуйте, Евгений Рыжков, Вы писали:
ЕР>Попробуйте, пожалуйста, развить мысль.
Кривость компилятора и кодогенератора билдера стала притчей во языцех, и отсутствие новых версий скорее благо, чем проблема, и это ваше "придётся переписывать под студию" должно звучать как "давно пора".
Re: Уроки разработки 64-битных приложений на языке Си/Си++
Здравствуйте, Евгений Рыжков, Вы писали:
ЕР>Описание курса "Уроки разработки 64-битных приложений на языке Си/Си++"
По ссылке www.viva64.com/lessons-x64/all_rus.html доступны все уроки в виде единого HTML-файла. В том числе есть также версия для печати (без картинок сайта), которую желающие могут распечатать с помощью pdf-принтера в pdf.