Си++

  • ХабрахабрФото Следует ли проверять указатель на NULL перед вызовом функции free?

    Следует ли проверять указатель на NULL перед вызовом функции free?

    Короткий ответ: нет. Тем не менее, раз про это вновь и вновь спрашивают на Reddit, Stack Overflow и других сайтах, пришло время подробно разобрать эту тему. Оказывается, есть много интересного, о чём можно порассуждать. Функция free Функция free объявлена в заголовочном файле <stdlib.h> следующим образом: void free( void *ptr ); Функция освобождает буфер памяти, выделенный ранее с помощью функций malloc,…

    Читать далее »
  • ХабрахабрФото [Перевод] Оптимизируя неоптимизируемое: ускорение компиляции C++

    [Перевод] Оптимизируя неоптимизируемое: ускорение компиляции C++

    В этой статье речь пойдёт о повышении скорости компиляции библиотеки до уровня библиотеки ввода-вывода Cи stdio. Дня начала немного теории. {fmt} – это популярная открытая библиотека С++, представляющая более эффективную альтернативу С++ библиотеке iostreams и библиотеке Си stdio. Последнюю она обошла по целому ряду аспектов: Безопасность типов с проверками форматирующих строк во время компиляции. Эти проверки включены по умолчанию начиная…

    Читать далее »
  • ХабрахабрФото Пишем printf на языке ассемблера FASM

    Пишем printf на языке ассемблера FASM

    Введение Иногда, и чаще всего спонтанно, у меня появляется дикое желание реализовывать что-либо на языке ассемблера, а потом прикручивать это "что-либо" на уровни выше. Так например, ранее из-за такого желания я написал сначала стековую виртуальную машину, которая могла принимать в себя байт-код и непосредственно его исполнять, далее написал ассемблер, который мог бы транслировать язык ассемблера в этот самый байт-код, а…

    Читать далее »
  • ХабрахабрФото [Перевод] Пишем графический ASCII-калькулятор с помощью стандартной библиотеки Си

    [Перевод] Пишем графический ASCII-калькулятор с помощью стандартной библиотеки Си

    Программа calculator.c родилась как школьный проект в рамках Student Innovation Scholarship. Сперва я решил написать простой инструмент для построения графиков функций с помощью символов ASCII, но после завершения первого прототипа понял, что задача намного сложнее, чем предполагалось. Вернувшись к проекту год спустя, я увидел, что в нём есть много неочевидных нюансов. Поэтому предлагаю разобрать весь процесс разработки моего графического калькулятора…

    Читать далее »
  • ХабрахабрФото Как я писал свою первую игру для Dendy

    Как я писал свою первую игру для Dendy

    Что такое Dendy? Что так любит детвора? Это электронная игра! Ооо, дендиии... Думаю, что у многих читателей хабра был один из многочисленных клонов Dendy (а точнее консоли Famicom). Я в этом плане не исключение, причем даже получилось сохранить мою приставку из детства (но картриджи были утеряны:(). Фото взял из обзора моей старой денди (она в хорошем состоянии и даже работает)…

    Читать далее »
  • ХабрахабрФото Запуск Тетриса на осциллографе из 90-х

    Запуск Тетриса на осциллографе из 90-х

    Введение Немного о самом осциллографе. Речь пойдет про Tektronix TDS540D. Судя по серийному номеру (его все еще можно проверить на сайте производителя), осциллограф изготовлен в конце 1998 года. Несмотря на то, что осциллографу уже больше двадцати лет, его характеристики неплохи даже по нынешним меркам: Недостатком являются - вес (больше 10 кг), немаленькие размеры, шум при работе. Во многом они связаны…

    Читать далее »
  • ХабрахабрФото Распространённые паттерны опечаток при программировании

    Распространённые паттерны опечаток при программировании

    Есть бесконечное количество способов ошибиться при написании кода. Однако иногда можно заметить явные интересные закономерности, как и где ошибаются программисты. Поговорим о коде, который "притягивает" опечатки. На чём основаны наблюдения С целью тестирования и продвижения статического анализатора кода PVS-Studio мы проверяем различные открытые проекты. Найдя ошибки, мы сообщаем о них авторам проектов, коллекционируем их и пишем статьи про наиболее интересные…

    Читать далее »
  • ХабрахабрФото Индикатор добротности. Тестер катушек индуктивности

    Индикатор добротности. Тестер катушек индуктивности

    Данный самодельный прибор может оказаться весьма полезным в радиолюбительской мастерской в некоторых случаях. Прибор позволяет оценить добротность (наличие потерь) конденсаторов и индуктивностей – дросселей и трансформаторов, и, в частности, выявлять наличие короткозамкнутых витков в них. Вначале необходимость такого прибора не казалась мне бесспорной. Я надеялся на имеющийся у меня измеритель иммитанса Е7-22, который, кроме измерения сопротивления, емкости и индуктивности, также…

    Читать далее »
  • ХабрахабрФото Устройство цифровой индикации (УЦИ) для токарного станка

    Устройство цифровой индикации (УЦИ) для токарного станка

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

    Читать далее »
  • ХабрахабрФото 60 антипаттернов для С++ программиста, часть 12 (совет 56 — 60)

    60 антипаттернов для С++ программиста, часть 12 (совет 56 — 60)

    Перед вами обновлённая коллекция вредных советов для C++ программистов, которая превратилась в целую электронную книгу. Всего их 60, и каждый сопровождается пояснением, почему на самом деле ему не стоит следовать. Всё будет одновременно и в шутку, и серьёзно. Как бы глупо ни смотрелся вредный совет, он не выдуман, а подсмотрен в реальном мире программирования. Я буду публиковать советы по 5…

    Читать далее »


Кнопка «Наверх»