Обновить
163.24

C *

Типизированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Баги на диком западе: топ-10 ошибок в C и C++ проектах за 2025 год

Время на прочтение16 мин
Охват и читатели8.8K

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

Читать далее

Новости

Деннис Ритчи. Человек, который подарил нам циклы и рекурсию

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели15K

Деннис Макалистер Ритчи (/dmr) родился в 1941 году в престижном пригороде Нью-Йорка, в семье известного учёного из Bell Labs Алистера Ритчи, соавтора учебника по теории релейных схем. Вскоре семья переехала в Саммит, Нью-Джерси.

Читать далее

Создаём замыкания С из замыканий Lua

Время на прочтение12 мин
Охват и читатели13K

Когда я взялся полноценно портировать API Windows с C на Lua, одна из самых интересных и занимательных задач заключалась в том, как делать обратные вызовы к коду C из функций Lua. Без них значительная часть API — например, WNDPROC – осталась бы бесполезной.

Читать далее

Компиляторы, AI-ассистенты и вызов IOCTL: доклады о С++ и Linux вместо новогоднего кино

Время на прочтение3 мин
Охват и читатели6.7K

Представьте, что вам не нужно выбирать. Ни между красной и синей таблетками, ни между макарошками и пюрешкой, ни между светлой и темной сторонами. Вы можете взять лучшее от каждого предложения. Мы посмотрели все доклады System Level Meetup, выбрали самые интересные, собрали презентации и записи в одном месте. Для удобства разделили материал на треки , C++ и С/Linux Kernel, но смотреть можно все подряд.

Читать далее

restrict в C: оптимизация на честном слове

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели5.3K

Привет, Хабр!

Сегодня поговорим про один из самых незаметных, но любопытных моментов языка C. Если вы пишете на C, скорее всего вы никогда не использовали ключевое слово restrict. А зря — этот квалификатор указателя может дать вашему коду неплохой прирост производительности. Правда, для этого придётся дать компилятору честное слово насчёт своих указателей.

Читать далее

Ловушка профилирования кода

Уровень сложностиСложный
Время на прочтение5 мин
Охват и читатели11K

Оптимизация и профилирование C++: branchless-код проиграл обычному if-else. Что пошло не так? Разбираемся вместе.

Читать далее

Создание легкого shell на си

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.9K

Многие начинающие разработчики которые начинаю писать на языке C сталкиваются с проблемой : Какой 1 пет-проект написать на C ? И вопрос то логичный ведь проекты на C никогда не славились легкостью по сравнению с проектами на python или JavaScript . И как по мне отличная идей написать shell ведь там не надо знать ассемблер или иметь глубокие знание в работе OC , и он относительно легок в понимании .

В этой статье мы с вами подробно разберем написание shell на языке C , как он устроен ,в чем отличия bash shell и cmd. И напишем свой shell на 450 строк кода

Начнем пожалуй с самыx базовых вопросах .

Читать далее

Фантастические трюки на языке C

Время на прочтение10 мин
Охват и читатели14K

Доброго времени суток, господа и дамы! Иногда у некоторых людей возникает желание заняться откровенным непотребством в программировании — то, что не несет практической пользы напрямую, но помогает развлечься. И я — не исключение. В этой статье я хочу рассказать вам о лайфхаках, трюках (магических и не очень), алгоритмах на языке C!

Идея написать эту статью зародилась из моего поста, после него я начал серию статей, которая раскрывала много интересных моментов — от математических алгоритмов и оптимизации до ГПСЧ.

Увидев, что многим понравилась, я решил продолжить данную серию статей. Части независимы друг от друга, в каждой статье я прикладываю бенчмарки и графики.

В этой статье будет еще порция свежих хаков, фанов, трюков, еще больше магии и скорости!

Всех, кто заинтересовался — прошу под кат.

Читать далее

Вайбкодинг: от Unity до AI, или Почему мы ненавидим инструменты, которые снижают порог входа

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели9.1K

В своей прошлой статье я рассказывал, как продвинутая LLM для написания кода может упустить очевидные вещи и привести к потере данных. Та история была скорее о техническом курьезе, который может случиться при бездумной вере в возможности нейросети.

Сегодня я хочу поговорить о самом вайбкодинге как о явлении, вызывающем бурю эмоций в IT-сообществе. Этот термин, придуманный и популяризированный Андреем Карпатым в начале 2025 года, быстро стал нарицательным. Для одних это будущее, для других — синоним «говнокода». Но так ли страшен вайбкодинг, как его малюют?

Читать далее

Как писать резюме в IT-сфере? Как даже хорошее резюме может терять отклики и что с этим делать?

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8.7K

Меня зовут Екатерина Рычкова, я CEO HR-агентства и рекрутёр с 15-летним опытом.

Сегодня разбираю резюме кандидата из IT-индустрии с хорошим опытом, сильной технической базой и понятной целью: переход в Go-разработку.

Самое приятное, что в IT-сфере оформление резюме — не самое ключевое. Главное, на что смотрит рекрутер:

Читать далее

Моё знакомство с процессором Эльбрус-8СВ. Оптимизирую сложение массива байтов

Уровень сложностиСредний
Время на прочтение28 мин
Охват и читатели18K

Месяц назад мне в телеграм написал человек и предложил доступ к системе с процессором Эльбрус-8СВ.

И, конечно же, я согласился. Так как мне интересно.
Не каждый день неизвестные люди в Интернете предлагают доступ к удалённым хостам.

Разве может что-то пойти не так?

GD32 Unleashed: тотальная эмуляция в QEMU

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели9.7K

Зачем эмулировать то, что можно купить за копейки? Тратить месяцы на создание виртуальной модели микроконтроллера, если реальная отладочная плата на базе GD32F303 стоит как пара чашек кофе? Ответ прост: хороший физический стенд — это не просто плата. Это проектирование, сборка, место в стойке, электропитание, обжиг кабелей и поддержка в рабочем состоянии. А самое главное — его часто нельзя раздать каждому разработчику. Но что, если можно запустить ту же прошивку, что и на реальном железе, в эмуляторе?

В этой статье я представляю результат работы нашей команды из отдела разработки встраиваемого ПО в YADRO. Наиболее полную на сегодняшний день модель SoC GD32F30X в QEMU и набор интерфейсов, которые делают взаимодействие с эмулируемой периферией «прозрачным» для хостовой системы.

Читать далее

Изящные, ненормальные и удивительные алгоритмы на C

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели17K

Доброго времени суток, господа и дамы! Иногда у некоторых людей возникает желание заняться откровенным непотребством в программировании — то, что не несет практической пользы напрямую, но помогает развлечься. И я — не исключение. В этой статье я хочу рассказать вам о лайфхаках, трюках (магических и не очень), алгоритмах на языке C!

Идея написать эту статью зародилась из моего поста, после него я написал статью «Математика, биты, магия и немного ненормального программирования на C», «Фокусы, хаки, магия и прочее ненормальное программирование на C» и «Тёмная сторона Си: трюки, хаки, магия и алгоритмы», которые раскрывали много интересных моментов.

Увидев, что многим понравилась, я решил продолжить, чтобы узнать насколько глубоко кроличья нора!

В этой статье будет еще больше всевозможных генераторов псевдослучайных чисел, гонок за скоростью и производительностью, алгоритмов, хаков и трюков!

Всех, кто заинтересовался — прошу под кат.

Читать далее

Ближайшие события

ООП и Синглтон (на примере простого консольного рендера) в Си

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели11K

Всем привет, это Stalker320. Я вернулся на Хабр, осознав несколько концепций, с интересным подходом к разработке ПО с использованием Си.

Читать далее

Особенности работы с физической памятью в ОС Linux, часть 1

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели8.4K

Когда в последний раз Вы задумывались, как выделяется память на самом низком уровне? Соединим ниточкой вызов malloc с системными вызовами, структурами ядра, а также особенности выделения физической памяти.

Читать далее

BareMetal CI Part 2: Docker-контейнер для быстрого развёртывания CI/CD стенда для embedded-систем

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели12K

Продолжение серии статей о BareMetal CI. В первой части мы рассмотрели базовый подход к автоматизации тестирования микроконтроллеров с использованием J-Link и RTT. Эта статья посвящена масштабируемому решению на базе Docker, которое поддерживает различные типы оборудования и CI-платформы.

Читать далее

Создание своего ядра на C. Часть 2

Уровень сложностиСложный
Время на прочтение26 мин
Охват и читатели6.7K

В этой статье мы продолжим наш путь создания простого, но функционального ядра операционной системы на языке C.

Читать далее

Элегантный OSDev: Пишем ядро ОС на modern C++ без макросов. Часть 3: Аппаратный HAL и Прерывания

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели9.8K


Это третья статья из цикла по разработке ОС на С++. В данной статье я познакомлю читателя, с прерываниями x86 реализуем ее поддержку. Добавим работу с клавиатурой. Познакомимся с такими устройствами как PIC и напишем код для работы и инициализации. Я так же буду делать упор, на абстракцию и высокоуровневый код.

Заходите будет интересно.

Читать далее

Тёмная сторона Си: трюки, хаки, магия и алгоритмы

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели16K

Доброго времени суток, господа и дамы! Иногда у некоторых людей возникает желание заняться откровенным непотребством в программировании — то, что не несет практической пользы напрямую, но помогает развлечься. И я — не исключение. В этой статье я хочу рассказать вам о лайфхаках, трюках (магических и не очень), алгоритмах на языке C!

Идея написать эту статью зародилась из моего поста, после него я написал статью «Математика, биты, магия и немного ненормального программирования на C» и «Фокусы, хаки, магия и прочее ненормальное программирование на C», которые раскрывали много интересных моментов. Увидев, что многим понравилась, я задумался: почему бы не изучить еще какие-нибудь трюки, заодно практикуясь в программировании на C?

В этой статье будет еще больше всевозможных генераторов псевдослучайных чисел, гонок за скоростью и производительностью, алгоритмов, хаков и трюков!

Всех, кто заинтересовался — прошу под кат.

Читать далее

Иерархия vs Массовые изобретатели

Время на прочтение4 мин
Охват и читатели11K

🧲 Что если общество можно моделировать как игру, а иерархии — это просто баг старого механизма? Я хочу построить симуляцию, которая проверит, возможна ли цивилизация массовых изобретателей.

Почему иерархии всегда побеждали… и что мо
1
23 ...

Вклад авторов