
Топикстартер
Член клуба
Экскурс в неопределенное поведение C++ (Андрей Карпов, Дмитрий Свиридкин)
- Ссылка на картинку
Описание
Книга представляет собой обширный справочник типичных, а также очень редко встречающихся ошибок, характерных для программ на C++, Rust и других языках для низкоуровневого и системного программирования, в частности на ассемблере. Все рассмотренные проблемы так или иначе связаны с неопределенным, неуточненным и определяемым реализацией поведением языковых конструкций. Наибольшее внимание уделено неопределенному поведению, возможным признакам его присутствия в программах и методам поиска, диагностики и устранения такого поведения.
Вы изучили C++ за 21 день и уже готовы использовать его во всех своих проектах? Погодите, есть кое-что еще!
За последние годы особенно остро поднят вопрос безопасности при разработке программного обеспечения: операционных систем, драйверов, веб-серверов и облачных платформ. C++ считается одним из самых небезопасных языков программирования, который широко используются в реальных программах. С 2023 года звучат призывы избегать языка C++ из-за того, что в нём не гарантирована безопасность памяти: 70% всех уязвимостей в программном обеспечении так или иначе оказывались связаны с работой с памятью.
В этой книге приводится множество разнообразных примеров из реальной практики, демонстрирующих, как даже самый безобидный на первый взгляд код на C++ или C может скрывать в себе невероятные ошибки. Всё это из-за множества явных и неявных случаев неопределенного поведения, и лишь некоторые такие случаи описаны в стандартах этих языков. На страницах книги вы увидите, как истинные условия могут стать ложными, а недостижимый код начать выполняться, как код, работающий на вашей машине, перестанет работать у вашего коллеги, и как, добавив журналирование, можно «починить» код на время.
С неопределенным поведением возможно всё!
Десятки историй о неоднозначных и сомнительных решениях в дизайне языка С++, приводящих к многим часам отладки в реальных проектах
Самые неожиданные ошибки и как они проявляются
Советы как избежать встречи с одним из самых загадочных “зверей” в разработке на C++ и других языках для системного и низкоуровневого программирования — неопределенным поведением
Для специалистов по C++ и другим языкам для системного и низкоуровневого программирования.
Формат: скан PDF
Книга представляет собой обширный справочник типичных, а также очень редко встречающихся ошибок, характерных для программ на C++, Rust и других языках для низкоуровневого и системного программирования, в частности на ассемблере. Все рассмотренные проблемы так или иначе связаны с неопределенным, неуточненным и определяемым реализацией поведением языковых конструкций. Наибольшее внимание уделено неопределенному поведению, возможным признакам его присутствия в программах и методам поиска, диагностики и устранения такого поведения.
Вы изучили C++ за 21 день и уже готовы использовать его во всех своих проектах? Погодите, есть кое-что еще!
За последние годы особенно остро поднят вопрос безопасности при разработке программного обеспечения: операционных систем, драйверов, веб-серверов и облачных платформ. C++ считается одним из самых небезопасных языков программирования, который широко используются в реальных программах. С 2023 года звучат призывы избегать языка C++ из-за того, что в нём не гарантирована безопасность памяти: 70% всех уязвимостей в программном обеспечении так или иначе оказывались связаны с работой с памятью.
В этой книге приводится множество разнообразных примеров из реальной практики, демонстрирующих, как даже самый безобидный на первый взгляд код на C++ или C может скрывать в себе невероятные ошибки. Всё это из-за множества явных и неявных случаев неопределенного поведения, и лишь некоторые такие случаи описаны в стандартах этих языков. На страницах книги вы увидите, как истинные условия могут стать ложными, а недостижимый код начать выполняться, как код, работающий на вашей машине, перестанет работать у вашего коллеги, и как, добавив журналирование, можно «починить» код на время.
С неопределенным поведением возможно всё!
Десятки историй о неоднозначных и сомнительных решениях в дизайне языка С++, приводящих к многим часам отладки в реальных проектах
Самые неожиданные ошибки и как они проявляются
Советы как избежать встречи с одним из самых загадочных “зверей” в разработке на C++ и других языках для системного и низкоуровневого программирования — неопределенным поведением
Для специалистов по C++ и другим языкам для системного и низкоуровневого программирования.
Формат: скан PDF
Показать больше
Зарегистрируйтесь
, чтобы посмотреть авторский контент.