С/С++ Portal | Программирование
Присоединяйтесь к нашему каналу и погрузитесь в мир для C/C++-разработчика Сотрудничество, реклама: @devmangx Работаем с @Spiral_Yuri РКН: https://clck.ru/3Foc4d
Show more📈 Analytical overview of Telegram channel С/С++ Portal | Программирование
Channel С/С++ Portal | Программирование (@cpportal) in the Russian language segment is an active participant. Currently, the community unites 14 979 subscribers, ranking 8 546 in the Technologies & Applications category and 43 664 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 14 979 subscribers.
According to the latest data from 14 October, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -35 over the last 30 days and by 0 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 15.65%. Within the first 24 hours after publication, content typically collects 8.39% reactions from the total number of subscribers.
- Post reach: On average, each post receives 2 316 views. Within the first day, a publication typically gains 1 242 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 22.
- Thematic interests: Content is focused on key topics such as linux, ядро, c++, процессор, указатель.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Присоединяйтесь к нашему каналу и погрузитесь в мир для C/C++-разработчика
Сотрудничество, реклама: @devmangx
Работаем с @Spiral_Yuri
РКН: https://clck.ru/3Foc4d”
Thanks to the high frequency of updates (latest data received on 15 October, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
Loading data
| Date | Subscriber Growth | Mentions | Channels | |
| 15 October | +157 | |||
| 14 October | 0 | |||
| 13 October | +32 | |||
| 12 October | +83 | |||
| 11 October | 0 | |||
| 10 October | 0 | |||
| 09 October | +3 | |||
| 08 October | 0 | |||
| 07 October | 0 | |||
| 06 October | 0 | |||
| 05 October | 0 | |||
| 04 October | +2 | |||
| 03 October | 0 | |||
| 02 October | +2 | |||
| 01 October | +1 |
| 2 | Знаковое битовое поле шириной 1 бит может хранить только −1 и 0.
При присваивании 1 сохраняется −1.
Поэтому сравнение не срабатывает.
👉 @Cpportal | 1 547 |
| 3 | Управление памятью — один из ключевых аспектов выполнения программы. И malloc играет в этом важную роль.
Реализация malloc в glibc основана на ptmalloc, который, в свою очередь, происходит от dlmalloc Дага Ли.
Это аллокатор, работающий с кучей: он делит большие области памяти на блоки разного размера. Каждый блок хранит свой размер в заголовке.
Когда блок освобождается, место, где находились данные приложения, используется для указателей списка свободных блоков. Это позволяет malloc быстро находить и повторно использовать этот блок.
В многопоточных программах malloc использует несколько «арен», каждая со своей блокировкой, чтобы потоки не блокировали друг друга. Число арен ограничено восьмикратным количеством процессоров.
Кеш каждого потока — tcache — ещё сильнее ускоряет небольшие выделения памяти.
Всё это подробно объясняется в вики glibc:
https://t.co/cprdgTzi8s
👉 @Cpportal | 1 768 |
| 4 | Линус Торвальдс использовал ИИ, чтобы помочь обнаружить баги в ядре Linux, которые оставались незамеченными с 2013 года.
Всё началось с того, что разработчик Нильс Оллрогге сообщил о баге и прислал исправление. Линус счёл код слишком запутанным, поэтому воспользовался LLM-инструментами, чтобы разобраться в нём и разбить большие функции на более мелкие и читаемые.
Тестирование подтвердило исходный баг и выявило ещё три. Все четыре присутствовали в библиотеке с самого первого коммита в 2013 году.
Изменения пока не вошли в основную ветку ядра.
Линус не просил ИИ заменить его собственную оценку. Он использовал его, чтобы сделать сложный код понятнее, а затем проверил результат тестами.
Источник: https://t.co/jNbBGA2zVS
Неужели LLM делают Линуса… добрее???
👉 @Cpportal | 2 022 |
| 5 | 📹 Вебинар по C++: Магия чисел в C++: как заставить компилятор считать за нас
Программа ещё не запущена, а таблица значений уже готова. C++ позволяет выполнить часть вычислений на этапе компиляции и передать программе готовый результат.
👉 На уроке разберём:
• Как выполнять вычисления на этапе компиляции.
• Как получать числа Фибоначчи и факториал до запуска программы.
• Как поручить компилятору генерацию таблиц.
🤓 Что получите по итогам:
• Поймёте, как компилятор может вычислять результаты ещё при сборке программы.
• Разберёте этот принцип на конкретных задачах: от факториала и чисел Фибоначчи до генерации таблиц.
🧠 Вебинар приурочен к старту курса «C++-разработчик. Продвинутый уровень», который помогает системно усилить навыки: от современных стандартов C++20 и C++23 до проектирования, многопоточности, работы с сетью, базами данных и большими объёмами информации.
👉 Регистрация: https://otus.pw/6Vjw/?erid=2W5zFGuqEJu
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. | 1 523 |
| 6 | Может ли компилятор незаметно вносить ошибки в программу? Могут ли эти ошибки приводить к уязвимостям безопасности? Бывают ли среди них ошибки, которые сложно воспроизвести? Могут ли они возникать из-за неопределённого поведения?
Ответы на эти и многие другие вопросы — в этом исследовании:
https://www.usenix.org/system/files/sec23fall-prepub-123-xu-jianhao.pdf
👉 @Cpportal | 1 799 |
| 7 | Книга «Введение в компиляторы и проектирование языков программирования» профессора Дугласа Тейна.
https://dthain.github.io/books/compiler/compilerbook.pdf
👉 @Cpportal | 1 952 |
| 8 | Как запускаются и работают статически слинкованные программы в Linux: что происходит от запуска исполняемого файла до вызова main.
https://eli.thegreenplace.net/2012/08/13/how-statically-linked-programs-run-on-linux
А чтобы разобраться, как линкер собирает программу из объектных файлов и библиотек, — руководство по линкерам для начинающих:
https://www.lurklurk.org/linkers/linkers.html
👉 @Cpportal | 2 067 |
| 9 | Основы разработки компиляторов в формате конспектов лекций:
https://www.cs.cornell.edu/courses/cs4120/2026sp/notes/
👉 @Cpportal | 2 146 |
| 10 | CS 6120: «Продвинутые компиляторы» — онлайн-курс Корнеллского университета для самостоятельного изучения.
https://www.cs.cornell.edu/courses/cs6120/
👉 @Cpportal | 2 170 |
| 11 | Разбор абстрактного синтаксического дерева — AST — с примером на C:
https://t.co/QSYzFju5mJ
👉 @Cpportal | 2 277 |
| 12 | C++:
«Ты можешь делать что угодно»
Rust:
«Ты можешь делать что угодно»
«Но сначала объясни почему»
👉 @Cpportal | 2 274 |
| 13 | Стив Борн не любил C. Оболочка Bourne shell из Unix V7 написана на C, но из-за макросов код выглядит как Algol 68.
👉 @Cpportal | 2 559 |
| 14 | Триграфы добавили, чтобы код на C можно было писать на клавиатурах без символов #, { и }.
Это корректный код на C для стандартов от C89 до C17. В C23 триграфы убрали.
👉 @Cpportal | 2 665 |
| 15 | 9 месяцев назад автор выложил демо, в котором его движок (Kaigen) оказался в 17 раз быстрее Unity ECS в браузере.
На него обрушилось много хейта: выяснилось, что тогда Unity не поддерживала Burst в браузере.
Теперь поддерживает. Так что время для реванша:
ECS: ~2 мс против ~9 мс.
Время на CPU: ~3 мс против ~28 мс.
Kaigen3D по-прежнему быстрее в 4,2–8,7 раза.
Ссылка на демо — можно запустить и Unity, и Kaigen.
https://kaigen3d.com/demos/boids/
Исходный код демо на Kaigen:
https://github.com/Kaigen-Technologies/kaigen-boids
Исходный код демо на Unity — форк репозитория Unity:
https://github.com/Kaigen-Technologies/EntityComponentSystemSamples
Вот на что способен С-разраб!! 😆
https://kaigen3d.com/
👉 @Cpportal | 2 484 |
| 16 | Возвращаемся к основам! Скопируем строку на C, а затем посмотрим, как это делается на ассемблере!
// Как скопировать строку на C и ассемблере:
// На C:
while ((*dst++ = *src++))
;
На ассемблере PDP-11 достаточно одной инструкции в цикле, поскольку операции пред- и постинкремента встроены в саму инструкцию.
; R0 = src, R1 = dst
10$: MOVB (R0)+,(R1)+
BNE 10$
На ассемблере x86 с этим справилась бы REP MOVSB, если бы длина строки была известна. Но она неизвестна, поэтому:
; RSI = src, RDI = dst, флаг направления сброшен
copy:
lodsb ; AL = *src++
stosb ; *dst++ = AL
test al, al
jnz copy
👉 @Cpportal | 2 169 |
| 17 | Керниган и Ритчи использовали этот пример, чтобы показать, насколько C «близок к железу».
Код копирует строку и останавливается на нулевом символе NUL, потому что само присваивание служит условием.
👉 @Cpportal | 2 355 |
| 18 | Кажется, для SHA-3 должна понадобиться огромная криптографическая библиотека.
Но эта реализация умещается примерно в 120 строк C.
Вся перестановка Keccak-f[1600] развёрнута с помощью макросов.
Только C, битовые операции и состояние размером 200 байт.
👉 @Cpportal | 2 735 |
| 19 | В C можно реализовать наследование с помощью одного простого правила: сделай родительскую структуру первым полем дочерней.
C гарантирует, что адрес структуры совпадает с адресом её первого поля, поэтому приведение указателей между ними работает.
👉 @Cpportal | 2 599 |
| 20 | Как виртуальная память влияет на задержки — статья Эрика Ригторпа.
https://rigtorp.se/virtual-memory/
👉 @Cpportal | 2 054 |
