TGViewer
Channel Public Channel
C/C++ Development | YeaHub

C/C++ Development | YeaHub

@yeahub_c_development

Теория, подготовка к интервью и курсы для C/C++ разработчиков

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

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

Для связи: @ruslan_kuyanets
Subscribers
741
Photos
281
Videos
56
Links
550

Showing posts older than #223 · Back to latest

Older Posts 18 shown
Post #222 252
#полезное
👍 Создай собственную мини-ОС на C

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

👉Новости 👉База вопросов
  • 👍 1
  • 🔥 1
  • 😈 1
Post #220 288
#полезное
😜 Producer-Consumer на C с использованием многопоточности

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

👉Новости 👉База вопросов
  • ❤ 1
Post #219 241
#статьи
😘 Планирование задач на CPU

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

👉Новости 👉База вопросов
  • 👍 1
Post #217 251
#полезное
😎 Чувак только что закончил свою систему анимации на C и оказалось, что она примерно в 14 раз быстрее, чем система анимации в unity.

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

Пара цифр:

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

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

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

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


👉Новости 👉База вопросов
  • ❤ 2
  • 👍 1
  • 😈 1
Post #215 303
#полезное
🤓 Указатели функций в языке C:

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

👉Новости 👉База вопросов
  • ❤ 1
  • 👍 1
Post #214 300
#полезное
🥺 Динамическая память со структурами в языке C:

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

👉Новости 👉База вопросов
  • ❤ 3
Post #213 284
#полезное
😵 Понимание управления файловой системой в операционных системах, подобных Unix

Этот блог рассматривает тонкости того, как такие системы отслеживают файлы, управляют файловыми дескрипторами и реализуют механизмы, такие как каналы (pipes) для межпроцессного взаимодействия.

👉Новости 👉База вопросов
Post #211 271
#полезное
😊 Архитектура компьютера: Продвинутое проектирование процессоров

На основе базовых знаний о скалярном RISC-конвейере, эти видео последовательно развивают концепции, ведущие к технологиям, лежащим в основе современных динамических внеочередных (out-of-order) суперскалярных процессоров
Источник

👉Новости 👉База вопросов
  • ❤ 3
Post #210 228
#полезное
😊 std::to_underlying()

std::to_underlying() (C++23) безопасно преобразует значение enum class в его базовый целочисленный тип. Это полезно для сериализации, логирования и битовых операций с strongly-typed enum'ами.

👉Новости 👉База вопросов
  • ❤ 1
  • 💘 1
Post #209 248
#полезное
👨‍💻 На заметку вам: roadmap.sh/cpp

Это интерактивная, модульная дорожная карта изучения C++: от азов до продвинутых практик, с упором на последовательность, прогресс и полезный контент

👉Новости 👉База вопросов
Post #208 238
#Собес #Cplus
🤔 Что такое аргумент по умолчанию в функции?

Аргумент по умолчанию в функции С++ — это параметр, которому присваивается значение по умолчанию. Если вызывающая сторона не передает значение для этого параметра, будет использовано значение по умолчанию.

👉Новости 👉База вопросов
  • ❤ 1
Post #206 311
#полезное
❤️‍🔥 Чувак оптимизировал умножение матриц на C с использованием SIMD, блочной работы с кэшем и многопоточности, сократив время выполнения в 80 раз.
Репозиторий на GitHub

👉Новости 👉База вопросов
  • 😈 3
  • ❤ 2
  • 🔥 1
Post #205 237
#полезное
👋 Изучай разработку ОС, это реально увлекательно

Функция breakpoint_handler() устанавливает обработчик исключений, который перехватывает инструкции brk, выполняемые внутри целевого процесса. Здесь написана отдельная функция patch(), — она внедряет трамплин в исполняемую область памяти, и этот трамплин содержит инструкцию brk в качестве ловушки.

Когда выполнение доходит до brk, обработчик перехватывает исключение, получает доступ к регистрам потока, модифицирует x0, подставляя нужное значение возврата, продвигает счётчик инструкций, чтобы пропустить ловушку, и выполнение продолжается.

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

👉Новости 👉База вопросов
  • ❤ 2
  • 👍 1
  • 🔥 1
Post #204 231
#ЛитКод
Задача: 717. 1-bit and 2-bit Characters

У нас есть два специальных символа: первый символ может быть представлен одним битом 0. Второй символ может быть представлен двумя битами (10 или 11). Если задан двоичный массив bits, который заканчивается 0, верните true, если последний символ должен быть однобитным.

Пример:
Input: bits = [1,0,0]
Output: true


👨‍💻 Алгоритм:

1⃣Инициализируйте индекс для итерации по массиву.

2⃣Пройдите по массиву, увеличивая индекс на 1, если текущий бит равен 0, и на 2, если текущий бит равен 1.

3⃣Проверьте, достиг ли индекс последнего элемента массива, и верните результат.

😎 Решение:
bool isOneBitCharacter(vector<int>& bits) {
int i = 0;
while (i < bits.size() - 1) {
i += bits[i] + 1;
}
return i == bits.size() - 1;
}


👉Новости 👉База вопросов
  • ❤ 3
  • 👍 1
Post #203 227
#Собес #Cplus
🤔 Что такое исключение в С++?

Исключение в С++ - это обьект, который выбрасывается во время выполнения программы, когда возникает необычная ситуация или ошибка. Исключения обрабатываются с помощью блока try-catch.

👉Новости 👉База вопросов
  • ❤ 2
  • 👍 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →