Си++

А пишут ли ещё на Си++?

Для меня это вопрос странен. Ответ: конечно да, и ещё долго будут писать. Однако время от времени, мне задают этот вопрос на конференциях или при общении на форумах. Я решил дать на него небольшой письменный ответ, чтобы в дальнейшем иметь возможность ответить одной ссылкой.

Мы разрабатываем инструмент анализа кода PVS-Studio для разработчиков Си/Си++ приложений. Иногда меня спрашивают, почему именно для этих языков, ведь Си/Си++ это старый язык, на котором мало кто пишет. Когда я говорю, что это весьма популярный язык и широко используется, они искренне удивляются.

Безопасность, безопасность! А вы её тестируете?

В коде программ нет мест, где нельзя допустить ошибку. Ошибка может быть в самом простом месте. Если алгоритмы, механизмы обмена данными и интерфейсы люди привыкли тестировать, то с безопасностью всё обстоит гораздо хуже. Часто она реализуется по остаточному принципу. Программист думает, вот сейчас пару строк напишу, и всё будет хорошо. И даже тестировать не надо. Код слишком прост, чтобы допустить в нем ошибку! А вот и нет. Раз занимаетесь безопасностью и пишите какой-то код для этого, то тестируйте его не менее тщательно!

Интересные результаты могут выдавать научные исследования, основанные на неинициализированных переменных

Если честно, я не знаю, для чего предназначен проект TPP. Как мне кажется, это набор инструментов для изучения белков и их взаимодействия в живых организмах. Впрочем, это не так важно. Главное, что исходные коды открыты. Значит, я могу проверить их с помощью статического анализатора PVS-Studio. А я люблю это делать.

Итак, был проверен проект Trans-Proteomic Pipeline (TPP) версии 4.5.2. Подробнее о проекте можно узнать по следующим ссылкам:

JNI-сигнатуры методов в Java

Буквально на днях на ISN была затронута тема взаимодействия java и native. Я решил продолжить данный тренд и написать о том, что было для меня самым сложным на первом этапе при работе с jni. Это всего лишь формат сигнатур методов которые необходимо указывать, чтобы получить экземпляр jmethodID. К сожалению, не всегда возможно/удобно использовать javap, так что умение писать jni-сигнатуры достаточно полезно.

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

Я постоянно изучаю интернет на тему новых статей про программированию на языке Си/Си++/Си++11. Если мне они кажутся интересными, я делюсь ссылками на них в твиттере @Code_Analysis, в реддите /r/Viva64 и голосую в StumbleUpon. Если вы присутствуете на одном из этих сайтов, то приглашаю следовать за мной.

Java like С/C++

Привет всем!

Сегодня мы с вами поговорим о любви Java к C++. Связь не очевидна, но она есть. Итак, поехали!

Порой в нашей жизни требуется использовать код, написанный на другом языке. Опишем несколько случаев такой необходимости:



    • Пускай у вас есть проверенный на 100% код на другом языке. Для того что бы его перевести на язык Java, потребуется немало времени, а полученный код нужно опять проверять и отлаживать. Особенно если это огромная библиотека или проект.

Новые статьи

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

Не зная брода, не лезь в воду. Часть первая.

Статический анализ кода

Статический анализ кода это процесс выявления ошибок и недочетов в исходном коде программ. Статический анализ можно рассматривать как автоматизированный процесс обзора кода.
  • Си++
  • ошибки
  • статический анализ кода
  • Не зная брода, не лезь в воду. Часть вторая.

    В этот раз я хочу поговорить о функции printf. Все наслышаны об уязвимостях в программах, и что функции наподобие printf объявлены вне закона. Но одно дело знать, что лучше не использовать эти функции. А совсем другое - понять почему.
  • Си++
  • printf
  • с плюс плюс
  • уязвимость
  • Subscribe to Си++