PVS-Studio

Проблемы в реальных программах - каких только ошибок не бывает на свете...

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

Вот код программы, который предназначался по замыслу автора для распечатки значения элементов матрицы во внутреннюю структуру.

Matrix3 m;

TextOutput &t = ...;

...

Холодный Tachyon

Чуть более месяца назад состоялся первый русскоязычный онлайн-семинар от Intel "Intel Parallel Studio workflow". На нем Кирилл Мавродиев продемонстрировал, как можно распараллелить приложение, рассматривая его как черный ящик. Другими словами была рассмотрена типичная ситуация, когда у разработчика имеется незнакомый ему код, которые необходимо модернизировать. Например, распараллелить.

Стеснительные компании

Заметил одну интересную особенность российских ИТ-компаний, занимающихся разработкой программного обеспечения. Они стесняются написать свой адрес и свое настоящее название. На сайтах они охотно пишут контактные данные, но при этом не настроены более чем на общение по электронной почте или по телефону. Хотя и на это они тоже не всегда настроены :). Остальная информация часто представлена исключительно для вида. Заявление смелое, но я могу подкрепить его практическими примерами. И даже фотографиями. :)

Issues of 64-bit code in real programs: virtual functions

We have already written in our articles about one of the problems of code migration to 64-bit systems relating to incorrect overload of virtual functions. For example, our article "20 issues of porting C++ code on the 64-bit platform" was published in March, 2007 (although is still relevant). It described the issue of virtual functions. The point of the problem consists in the following. There is CWinApp class in MFC library which has WinHelp function:
class CWinApp {
...

Будьте аккуратны с директивой atomic

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

Presentation of information on the site viva64.com

I am addressing the blog’s readers for a word of advice on how to lay out information on our site. With time, besides PVS-Studio code analysis program product we are developing and selling, www.viva64.com site has included articles and a blog for programmers, presentations/demonstrations/booklets about PVS-Studio code analyzer and solid information traditional for corporate sites.

Testing of Linux-applications with the help of PVS-Studio in Windows

Quite recently we have released a new program product PVS-Studio which united our two analyzers Viva64 and VivaMP. When Viva64 analyzer intended for developers of 64-bit applications was a separate product yet, we were asked this question: "Is there a version of Viva64 for Linux?". And although it is possible to create such a version (as development of a separate solution for a particular client) there is no Linux-version of the analyzer for the moment.

Проблемы 64-битного кода в реальных программах: виртуальные функции

Об одной проблеме при миграции кода на 64-битные системы, связанной с некорректной перегрузкой виртуальных функций мы писали в наших статьях уже давно. Например, наша статья "20 ловушек переноса Си++ - кода на 64-битную платформу" вышла в марте 2007 года (хотя ничуть не утратила актуальности). В ней было описание проблемы с виртуальными функциями. Суть проблемы заключается в следующем. С незапамятных времен в библиотеке MFC есть класс CWinApp, в котором имеется функция WinHelp:

Проблемы 64-битного кода в реальных программах: магические константы

Вновь хочется рассказать об очередной 64-битной ошибке, найденной нами в одной из программ. Публиковать в блоге интересные и специфичные ошибки программирования для 64-битных систем постепенно становится хорошей традицией, которой мы постараемся следовать.

S’abonner à PVS-Studio