Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Избранное из статей с сайта Viva64 для Си/Си++ программистов 
:(
    Опции темы
Thunderbolt
Дата 21.9.2012, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


DevRel
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 7.11.2007
Где: Тула

Репутация: 6
Всего: 16



На нашем сайте мы регулярно публикуем статьи, посвященные программированию, написанию качественного кода, созданию параллельных и 64-битных программ. И еще мы рассказываем интересные истории об ошибках, найденных анализатором PVS-Studio.

В результате на нашем сайте накопилось много материала. Человек, который случайно попал на наш сайт, может так и не узнать, какие интересные материалы там есть. Также, например в Twitter, к нам присоединилось много людей. Эти люди видят наши новые статьи, но не знают о старых замечательных статьях.

Я решил, выбрать некоторые материалы, которые могут больше всего понравиться программистам. Прошу тем, кто уже видел эти статьи не говорить про это и не ставить отрицательные оценки. Прошу понять, что аудитория очень быстро меняется. Через год, в какой либо группе, на одного знакомого с каким-то материалом, приходится 5 с ним не знакомым.

Вот отобранные ресурсы и краткое описание.


О разработке 64-битных приложений


Коллекция примеров 64-битных ошибок в реальных программах

Статья представляет собой наиболее полную коллекцию примеров 64-битных ошибок на языках Си и Си++. Статья ориентирована на разработчиков Windows-приложений, использующих Visual C++, но будет полезна и более широкой аудитории.


64-битный конь, который умеет считать

Феномен "Умного Ганса", коня мистера фон Остена, был описан в 1911 году. Умный Ганс был знаменит тем, что умел читать и решал математические задачки, выстукивая ответ передним копытом. Конечно, было много скептиков. Поэтому способности Ганса проверялись комиссией экспертов, которая установила, что конь демонстрирует их без помощи мистера фон Остена. Но как мог существовать такой — человеческий! — уровень интеллекта у простой лошади? Психолог О. Пфангст с чрезвычайной тщательностью выполнил серию экспериментов, в результате которых обнаружил, что Ганс получал едва уловимые неумышленные подсказки от тех, кто задавал ему вопросы. Например, после того как Ганса о чем-то спрашивали, люди устремляли свой взгляд на его переднее копыто, с помощью которого конь "отвечал". Но как только Ганс ударял копытом нужное число раз, спрашивающие совсем чуть-чуть поднимали свои глаза или голову в ожидании завершения его ответа. И конь, который был натренирован замечать и использовать эти почти неуловимые для наблюдателей движения, воспринимал их как сигналы к прекращению своих действий. Со стороны это всегда выглядело как правильный ответ на вопрос.

Вот такой был замечательный конь, который считал и решал задачки, хотя и не умел этого делать. Цифровыми конями начала 21-ого века стали 64-битные программы, многие из которых тоже не умеют считать, хотя успешно делают вид. Рассмотрим этот феномен более подробно.


Уроки разработки 64-битных приложений на языке Си/Си++

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

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


Не зная брода, не лезь в воду


Часть первая

Захотелось написать несколько небольших заметок о том, как программисты на Си/Си++ играют с огнём, не подозревая об этом. Первая заметка будет про попытки явно вызвать конструктор.


Часть вторая

В этот раз я хочу поговорить о функции printf. Все наслышаны об уязвимостях в программах, и что функции наподобие printf объявлены вне закона. Но одно дело знать, что лучше не использовать эти функции. А совсем другое - понять почему. В этой статье я опишу две классических уязвимости программ, связанных с printf. Хакером после этого вы не станете, но, возможно, по-новому взгляните на свой код. Вдруг, вы реализуете аналогичные уязвимые функции, даже не подозревая об этом.

СТОП. Подожди читатель, не проходи мимо. Я знаю, что ты увидел слово printf. И уверен, что автор статьи сейчас расскажет банальную историю о том, что функция не контролирует типы передаваемых аргументов. Нет! Статья будет не про это, а именно про уязвимости. Заходи почитать.


Часть третья

Продолжу рассказы о том, как программисты ходят по краю, даже не подозревая об этом. Поговорим об операциях сдвига <<, >>. Принципы работы операторов сдвига очевидны и многие программисты даже не знают, что их использование согласно стандарту Си/Си++ может приводить к неопределенному или к неуточненному поведению (undefined behaviour/unspecified behavior).



Ошибки


Во всём виноват компилятор

Многие программисты очень любят обвинять компилятор в различных ошибках. Поговорим немного об этом.


100 багов в Open Source проектах на языке Си/Си++

Эта статья демонстрирует возможности методологии статического анализа кода. Читателю предлагается примеры ста ошибок, найденных в Open-Source проектах, написанных на языке Си/Си++.


Последствия использования технологии Copy-Paste при программировании на Си++ и как с этим быть

У меня накопилось достаточно примеров, в которых хорошо видно, когда ошибка появилась на свет из-за копирования участка кода и его модификации. Конечно, это не новая идея, что использовать Copy-Paste при программировании плохо. Однако попробуем не отделываться рекомендацией "не копируйте код" и подойдем к этой теме более внимательно.


32 подводных камня OpenMP при программировании на Си++

С распространением многоядерных систем задача параллельного программирования становится все более и более актуальной. Данная область, однако, является новой даже для большинства опытных программистов. Существующие компиляторы и анализаторы кода позволяют находить некоторые ошибки, возникающие при разработке параллельного кода. Многие ошибки никак не диагностируются. В данной статье приводится описание ряда ошибок, приводящих к некорректному поведению параллельных программ, созданных на основе технологии OpenMP.



О рекламе для программистов


Изучение способов привлечения на сайт программного продукта

Эта статья будет интересна тем, кто продвигает свои собственные программные продукты в интернете. Статья исключительно практическая. Она представляет собой отчёт о некоторых действиях, которые мы осуществляли в последнее время для продвижения продукта PVS-Studio. Я расскажу, что работает, что не работает и поделюсь сопутствующими мыслями.

Си/Си++


Есть ли практический смысл использовать для итераторов префиксный оператор инкремента ++it, вместо постфиксного it++

Я все-таки решил разобраться, есть ли смысл при работе с итераторами писать ++iterator, а не iterator++. Мой интерес к этому вопросу возник не из любви к искусству, а из практических соображений. Мы давно хотим развивать PVS-Studio не только в направлении поиска ошибок, но и в сторону выдачи подсказок по оптимизации кода. Выдача сообщения, что лучше писать ++iterator вполне уместна в плане оптимизации.


Коллекция интересных ресурсов по тематике программирования на языке Си/Си++


P. S.

Также, приглашаю присоединиться в одной из следующих сетей:


--------------------
Карпов Андрей, DevRel в PVS-Studio.
PM MAIL WWW   Вверх
borisbn
Дата 21.9.2012, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Спасибо. Пожалуй, действительно "избранное".
Если можно: небольшой комментарий к
Цитата(Thunderbolt @  21.9.2012,  11:16 Найти цитируемый пост)
О рекламе для программистов
Изучение способов привлечения на сайт программного продукта

А почему там нет Хабры ? ИМХО более полезный ресурс, чем CodeProject, FaceBook и Hacker News вместе взятые.

Цитата(Thunderbolt @  21.9.2012,  11:16 Найти цитируемый пост)
Twitter - @Code_Analysis

кстати, советую. Немного рекламы, зато много полезных ссылок



--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Thunderbolt
Дата 21.9.2012, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


DevRel
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 7.11.2007
Где: Тула

Репутация: 6
Всего: 16



Цитата(borisbn @ 21.9.2012,  11:49)
А почему там нет Хабры ? ИМХО более полезный ресурс, чем CodeProject, FaceBook и Hacker News вместе взятые.

Хабр хорош однозначно. Но есть одно большое "НО". Его аудитория - Россия, Украина. А это единичные продажи. Так что мы никогда не рассматривали Хабр как настоящую рекламную площадку. Так, поболтать и повоевать интересно. Но не более.

Впрочем, это всё в прошлом. smile За последнюю статью Обнаружены ошибки в библиотеках Visual C++ 2012 меня выгнали (забанили). Не смотря даже на то, что писал в "Я пиарюсь". В общем больше на Хабр отвлекаться мне не придётся.

--------------------
Карпов Андрей, DevRel в PVS-Studio.
PM MAIL WWW   Вверх
boostcoder
Дата 21.9.2012, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



Thunderbolt, спасибо огромное за интересные статьи, как всегда!

Цитата(Thunderbolt @  21.9.2012,  15:08 Найти цитируемый пост)
За последнюю статью Обнаружены ошибки в библиотеках Visual C++ 2012 меня выгнали (забанили).

 smile 

а можно плиз ссылку на статью?
PM WWW   Вверх
Thunderbolt
Дата 21.9.2012, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


DevRel
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 7.11.2007
Где: Тула

Репутация: 6
Всего: 16



Цитата(boostcoder @ 21.9.2012,  15:48)
а можно плиз ссылку на статью?

Так ведь вроде я и так ссылочку вставил.

Ладно, вот она - http://www.viva64.com/ru/b/0163/

А вот где она была на Хабре - http://habrahabr.ru/post/151786/

P.S. Забавное обсуждение. Везде всем чудится заговор. smile http://vk.com/wall-20629724_223720?reply=223809

--------------------
Карпов Андрей, DevRel в PVS-Studio.
PM MAIL WWW   Вверх
boostcoder
Дата 21.9.2012, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



Цитата(Thunderbolt @  21.9.2012,  16:28 Найти цитируемый пост)
А вот где она была на Хабре - http://habrahabr.ru/post/151786/

я именно эту и просил.

Цитата(Thunderbolt @  21.9.2012,  16:28 Найти цитируемый пост)
P.S. Забавное обсуждение. Везде всем чудится заговор.  http://vk.com/wall-20629724_223720?reply=223809

почитаем-ка..
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1097 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.