C/C++ Development | YeaHub – Telegram
C/C++ Development | YeaHub
827 subscribers
228 photos
56 videos
1 file
379 links
Теория, подготовка к интервью и курсы для C/C++ разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
🥺 Динамическая память со структурами в языке C:

Эта программа демонстрирует, как создавать и управлять памятью для пользовательского типа данных (Person), используя malloc() и free() в языке C.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
3
#полезное
🤓 Указатели функций в языке C:

🟠 Указатели на функции позволяют сохранять и вызывать функции динамически, как переменные, обеспечивая гибкость и модульность кода.
🟠 Они часто используются в механизмах обратных вызовов (callback), обработке событий и реализации полиморфизма в языке C

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#Собес #Cplus
🤔 Что такое iostream в C++?

iostream - это заголовочный файл стандартной библиотеки С++, который определяет потоки ввода и вывода, такие как cin (ввод) и cout (вывод).

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😎 Чувак только что закончил свою систему анимации на C и оказалось, что она примерно в 14 раз быстрее, чем система анимации в unity.

Причём он её даже не оптимизировал — возможно, можно сделать ещё быстрее

Пара цифр:

🟠 1500 персонажей
🟠 7.3 миллиона треугольников каждый кадр
🟠 Среднее время кадра (движок на C): ~28 мс
🟠 Среднее время кадра (@unity): ~400 мс

Он использует однотредовую CPU-анимацию (так же, как Unity). Без GPU-инстансинга и VAT — каждый меш отрисовывается отдельным draw call

"Сейчас я упираюсь в пропускную способность GPU, что логично с учётом используемой реализации skinning'а.

Думаю, переход на GPU skinning даст мощный прирост производительности, но сначала придётся портировать рендеринг на WebGPU"


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1😈1
#статьи
😘 Планирование задач на CPU

В этой статье рассматривается планирование на уровне процессора, соответствующие алгоритмы и практическая демонстрация
источник

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
😜 Producer-Consumer на C с использованием многопоточности

Продюсеры добавляют данные в общий буфер, а консюмеры их обрабатывают. Мьютексы обеспечивают потокобезопасность

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #Cplus
🤔 Сколько ключевых слов в С++?

В С++ существует 95 зарезервированных ключевых слов, которые имеют специальное значение и не могут быть переопределены или перегружены.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
👍 Создай собственную мини-ОС на C

Для этого нужно загрузиться в пользовательское ядро, полностью написанное на C, без использования операционной системы. Именно так настоящие операционные системы создаются с нуля

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1😈1
#полезное
😊 От нуля до main(): как написать загрузчик с нуля

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Cplus
🤔 В чем разница между структурой и классом в С++?

Основное различие между структурой и классом в С++ заключается в области доступности членов по умолчанию. В структуре члены имеют публичный доступ, а в классе - приватный. В остальном они схожи и могут содержать функции и данные.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#полезное
👋 Реализация раскраски графа

Алгоритм раскраски графа с использованием жадного подхода для назначения цветов вершинам, гарантируя, что соседние узлы не имеют одинакового цвета

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#полезное
👋 std::stacktrace

std::stacktrace (C++23) позволяет получить стек вызовов прямо во время выполнения. Это полезно для логирования, отладки, генерации crash-репортов и встроенных диагностик — прямо в продакшене.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2😈1
#Собес #Cplus
🤔 Что такое inline-функция в С++?

Inline-функция - это функция, чье тело компилятор вставляет непосредственно в место вызова функции, что может повысить производительность, так как избегается накладные расходы на вызов Функции.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#полезное
😬 Сетевое взаимодействие в Linux

Это видео объясняет, как ядро Linux обрабатывает запросы на TCP-соединение и сетевые пакеты.
Источник

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
👨‍💻 Написание простой 16-битной виртуальной машины менее чем в 125 строках на C

Разберитесь, как (некоторые) виртуальные машины работают "под капотом", создав регистровую VM, способную интерпретировать и выполнять ограниченный набор инструкций ASM + бонусные программы для тестирования.
источник

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
📞 Реализация lock-free очереди на C для высокопроизводительной конкуренции

Этот пример демонстрирует, как создать неблокирующую (lock-free) очередь с использованием атомарных операций на C, обеспечивая безопасный доступ из нескольких потоков без мьютексов.

LockFreeQueue — структура с атомарными указателями на голову и хвост.

enqueue(...) — вставка в конец очереди с использованием atomic_compare_exchange_weak, чтобы безопасно обновить указатель next.

dequeue(...) — снятие из начала очереди с безопасной заменой головы.

producer() и consumer() — потоки, которые записывают и читают данные из очереди соответственно.

pthread_create(...) — используется для запуска потоков.

Используется stdatomic.h для атомарного доступа к указателям.

Отсутствие блокировок делает такую очередь особенно подходящей для систем реального времени и высоконагруженных приложений.

Вывод программы при успешном выполнении:

Dequeued: 0
Dequeued: 1
Dequeued: 2


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #Cplus
🤔 Что такое класс в С++?

В С++ класс - это пользовательский тип данных, который содержит как данные (члены данных), так и функции (методы), которые работают с этими данными. Классы обеспечивают инкапсуляцию, позволяя группировать данные и функции в одном объекте.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👾1
#полезное
😱 Туториал по Ray-Casting для разработки игр и других целей, автор: F. Permadi

Я сейчас прохожу этот туториал и пока что всё отлично. Посмотри сам.
Тык сюда

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨‍💻 Модель Producer & Consumer с использованием POSIX Shared Memory API на C:

🟠 продюсер записывает данные в память
🟠 консюмер читает данные из той же памяти
🟠 без файлов, без сокетов, только разделяемая память

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM