Публикации по теме 'cpp'


DeepCode: Взгляд со стороны
Недавно DeepCode, статический анализатор, основанный на машинном обучении, стал поддерживать проверку проектов C и C++. А теперь мы можем выяснить отличия результатов классического и машинного статического анализа. Мы уже упоминали DeepCode в статье Машинное обучение в статическом анализе исходного кода программы . Также недавно они опубликовали статью «DeepCode добавляет поддержку статического анализа кода на основе ИИ для C и C++ », в которой сообщается о поддержке анализа..

Сборка мусора и расширение для Chrome
Мой первый язык был C, C++. Оба этих языка не имеют сборщика мусора. В нем всякий раз, когда вы выделяете некоторую память динамически , вы должны ее освободить. Для обычных переменных, таких как int a , char str[10] и т. д., память автоматически выделяется и освобождается. Для динамически выделяемой памяти, такой как int *p = new int[10] , программисты несут ответственность за освобождение памяти, когда она больше не нужна. Если программист не освобождает память, это вызывает..

Сортировка слиянием
Основы понимания и реализации сортировки слиянием Алгоритмы сортировки — отличный способ погрузиться в мир структур данных и алгоритмов. Сортировка слиянием была первой, которую я изучил и которая заставила меня осознать, что методы, которые мы выбираем как разработчики для развертывания в наших программах, могут в огромной степени определять производительность нашего кода. Интуиция Я разобью процесс на два этапа: раздел стежок да, это так просто. Вроде. Раздел..

Ноль, раз, два, Фредди идет за тобой
Этот пост продолжает серию статей, которые вполне можно назвать «ужастиками для разработчиков». На этот раз мы также коснемся типичных опечаток, связанных с использованием чисел 0, 1, 2. Язык, на котором вы пишете, не имеет большого значения: это может быть C, C++, C# или Java. Если вы используете константы 0, 1, 2 или имена переменных содержат эти числа, скорее всего, Фредди придет к вам ночью. Давай, читай и не говори, что мы тебя не предупреждали. Введение Продолжаю цикл статей..

PVS-Studio заглянула в Bullet Engine Red Dead Redemption
В настоящее время нет необходимости реализовывать физику объектов с нуля для разработки игр, поскольку для этого существует множество библиотек. Bullet активно использовался во многих ААА-играх, проектах виртуальной реальности, различных симуляторах и машинном обучении. И он до сих пор используется, являясь, например, одним из движков Red Dead Redemption и Red Dead Redemption 2. Так почему бы не проверить Bullet с PVS-Studio, чтобы увидеть, какие ошибки может обнаружить статический анализ..

Введение в WebAssembly с C ++ - Часть I
WebAssembly - это технология, разработанная совместно разработчиками основных веб-браузеров. В документе «Повышение скорости Интернета с помощью WebAssembly» WebAssembly определяется как байт-код низкого уровня, который может компилировать программы C / C ++ в подмножество javascript под названием asm.js. WebAssembly открывает ряд возможностей, в которых на самом деле доминирует Javascript, как упоминалось в документе: Тем не менее, у JavaScript непостоянная производительность и..

Рассуждение о производительности в стиле Linux. Часть 1: подготовка к эксперименту
Это совсем не тривиально. Нам всем нравится, когда наше программное обеспечение работает быстро, мы любим спорить о том, как заставить его работать быстрее, мы любим писать высокопроизводительный код и хвастаться этим. К сожалению, это скорее веселое социальное занятие, чем инженерное дело. Дело в том, что производительность не является неотъемлемым свойством кода. Все гораздо сложнее. Рассмотрим коренные деревья. Чем больше основание — тем короче ключ, следовательно, меньше операций..