Suche

Д
 
0
 
С
 
0
 
Автор: Святослав Размыслов




Логическое выражение в программировании - конструкция языка программирования, результатом вычисления которой является "истина" или "ложь". Во многих книгах по программированию, предназначенных для изучения языка "с нуля", приводятся возможные операции над логическими выражениями, с которыми сталкивался каждый начинающий разработчик. В этой статье я не буду рассказывать, что оператор 'И' приоритетнее оператора 'ИЛИ'. Я расскажу о распространённых ошибках в простых условных выражениях, состоящих всего из трёх операторов, и покажу, как можно проверить свой код с помощью построения таблиц истинности. Описанные ошибки делают разработчики таких известных проектов как FreeBSD, Microsoft ChakraCore, Mozilla Thunderbird, LibreOffice и многих других.


Введение

Я занимаюсь разработкой статического анализатора кода для языков C/C++/C# - PVS-Studio. В моей работе приходится много сталкиваться с открытым и закрытым кодом разных проектов. Часто результатом такой работы являются статьи о проверке open source проектов, содержащие описание...

Weiterlesen
ava  CoderCPP | 09:46, 29.04.2016 | Aufrufe: 290 programming с++ clang ошибки pvs-studio
С
 
0
 
Автор: Святослав Размыслов



К юбилею выхода шутера от первого лица Serious Sam, который состоялся в марте 2016 года, разработчики игры из хорватской компании Croteam решили открыть исходный код игрового движка Serious Engine 1 v.1.10. Он заинтересовал много разработчиков, которые захотели изучить и улучшить движок. Я тоже решил поучаствовать в улучшении кода и подготовил статью с обзором ошибок, найденных с помощью статического анализатора PVS-Studio.


Введение

Serious Engine - игровой движок, разработанный хорватской компанией Croteam. Версия v.1.10 использовалась в играх Serious Sam Classic: The First Encounter и Serious Sam Classic: The Second Encounter. Впоследствии компанией Croteam были разработаны более совершенные игровые движки — Serious Engine 2, Serious Engine 3 и Serious Engine 4, а исходный код движка Serious Engine версии 1.10 был официально открыт и доступен под лицензией GNU General Public License v.2.

Хочу отметить, что проект легко собирается в Visual Studio 2013 и легко проверяется с помощью статического анализатора PVS-Studio 6.02.


Опечатки!




V501 There are identical sub-expressions to the left and to the right of the '==' operator: tp_iAnisotropy == tp_iAnisotropy...

Weiterlesen
С
 
+1
 
Автор: Святослав Размыслов

Виртуальные машины - важный инструмент в арсенале разработчика программного обеспечения. Мой интерес к коду VirtualBox вызван личным использованием этого продукта для проверки открытых проектов, а также для других разных задач, связанных с использованием нескольких операционных систем. Первая проверка этого проекта состоялась в 2014 году, тогда описание около 50 ошибок едва уместилось в двух статьях. C выходом Windows 10 и VirtualBox 5.0.XX, на мой взгляд, стабильность работы программы заметно ухудшилась. Поэтому я решил проверить проект ещё раз.





Введение

VirtualBox (Oracle VM VirtualBox) - программное обеспечение для операционной системы, позволяющее представить виртуальный набор ресурсов в определённой среде. Поддерживается следующими операционными системами: Microsoft Windows, FreeBSD, Solaris/OpenSolaris, Linux, Mac OS X, DOS, ReactOS и другими.

С первыми статьями о VirtualBox можно ознакомиться по ссылкам:

Проверяем Oracle VM VirtualBox. Часть 1Проверяем Oracle VM VirtualBox. Часть 2

Они содержат более 50 опасных мест, которые были найдены с помощью PVS-Studio 5.18. В новом отчёте анализатора я не встретил таких...

Weiterlesen
?
 
0
 
  al.pav14 | 10:11, 02.04.2015 | Antworten: 5 | Aufrufe: 666 Програмирувания с++ кроссворд
П
Нужно написать в c++ builder (версия любая), с помощью...
  lyucean | 20:06, 21.01.2015 | Aufrufe: 535 | auf Verhandlungsbasis | 1 opencv Builder с++
?
 
0
 
?
 
0
 
C++
  sliver2 | 10:42, 28.07.2014 | Antworten: 0 | Aufrufe: 235 с++ MFC
П
Реализовать алгоритм блочной сортировки файла...
  fotina.mariya | 11:41, 09.04.2014 | Aufrufe: 341 | auf Verhandlungsbasis | 0 с++ си++ Си
?
 
0
 
Filter nach Art des Contents
(0)
(0)
(0)
(0)
(0)
(0)
advanced
Absenden