Библиотека C/C++ разработчика
6.8K subscribers
651 photos
689 videos
8 files
937 links
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Download Telegram
С++ — это настоящий кайфǃ

Я хочу, чтобы вы задали себе один вопрос и честно на него ответили. Когда в последний раз вы получали настоящее удовольствие от программирования? Оглядываясь назад, я понимаю, что не испытывал подобных ощущений, наверное… уже лет десять. Удовольствия у меня не было ни от JavaScript, ни от Python, ни от Ruby или C — ни от чего. Когда я говорю «удовольствие» — я имею в виду ощущения человека, которого во время работы над неким проектом переполняет искренний восторг. Этот человек постоянно ловит себя на такой мысли: «Ох, ну какая ж круть. Поверить не могу, что моя безумная идея и правда сработала!».

https://habr.com/ru/companies/wunderfund/articles/874216/

#cpp #programming

👉 @cpp_lib
Media is too big
VIEW IN TELEGRAM
Сборка C++ проектов. CMAKE. Статические, динамические библиотеки. Github actions. GE серии

0:00:00 - Введение
0:01:20 - Статические библиотеки в CMAKE
0:09:22 - Динамические библиотеки в CMAKE
0:17:22 - Создаем таргет тестирования
0:27:24 - Пользовательский интерфейс CMAKE, опции
0:31:08 - Github actions

источник

#cpp #programming

👉 @cpp_lib
Tensor.h – Лёгкая и удобная библиотека для работы с тензорами на C

Если вам нужна простая и эффективная библиотека для работы с тензорами в C, обратите внимание на tensor.h. Этот проект предлагает лёгкую в использовании реализацию тензоров с минимальным оверхедом.

🔹 Основные возможности:
Поддержка многомерных тензоров
Простая и понятная API
Поддержка операций над тензорами (сложение, умножение и т. д.)
Небольшой размер кода


https://github.com/apoorvnandan/tensor.h

#cpp #programming

👉 @cpp_lib
🦾Хардкорный тест по языку С++🦾

📌Пройдите тест из 20 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе «C++ Developer. Professional» от OTUS.
Сможете сдать - пройдете на курс по спеццене!

Время прохождения теста ограничено 30 минут

👉ПРОЙТИ ТЕСТ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Media is too big
VIEW IN TELEGRAM
Опасность устарела, неопределенность недопустима: undefined behavior в С++20/23/26
Сергей Талантов

В современных стандартах С++ стало меньше UB. Разбираем на конкретных кейсах.

— Начиная с С++20 отрицательные целые числа обязательно должны быть представлены в дополнительном коде. Это сокращает количество UB в битовых операциях и не только.
— Введение std::ssize, возвращающего знаковый размер контейнеров, уменьшает количество ошибок и UB в циклах.
— Расширение времени жизни временных объектов в циклах for, появившееся в С++23, решает неочевидные проблемы.
— Казалось бы, мелочь, но инициализация std::string нулевым указателем раньше была UB, a теперь запрещена.
— В С++23 появился эксклюзивный режим открытия файла (O_EXCL), что решает проблему гонок (time-of-check to time-of-use).
— Будет ли введена арифметика с насыщением в С++26?

Некоторые конструкции языка признаются небезопасными и устаревшими, также проходимся по ним:
— Осталось ли что-то от volatile?
— Можно ли теперь делать неявный захват this по значению в лямбдах?
— Какие операции с enum теперь не в почете.

источник

#cpp #programming

👉 @cpp_lib
Хотите освоить алгоритмы, которые лежат в основе многих IT-решений? Время познакомиться с магией оптимизации!

На открытом уроке «Поиск кратчайшего пути во взвешенном графе» мы разберём алгоритм Дейкстры: от теории до практической реализации. Узнайте, как находить решения быстрее, надёжнее и эффективнее.

Алгоритмы — это как GPS для программирования. После урока вы сможете уверенно строить маршруты в графах, прокачаете свои навыки и сделаете шаг к профессиональному уровню.

Встречаемся 3 февраля в 20:00 мск, участники получат скидку на большое обучение «Алгоритмы и структуры данных».

👉 Регистрация открыта: https://vk.cc/cI0Gv4

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Автоматическая Генерация Конфигураций для Make Сборок

При разработке программного обеспечения (особенно для микроконтроллеров) рано или поздно придется столкнуться с тем, что надо как-то передавать конфигурации для данного программного проекта.

В своем опыте я пришел к выводу, что с точки зрения масштабирования кодовой базы, конфиги проще всего передавать через переменные окружения. Да.. Плюс в том, что переменные окружения можно определять прописывая прямо в скриптах (Make, CMake и т.п.).

Выглядит это так. У каждой сборки есть файл config.mk в котором перечислены программные компоненты из которых должна собираться эта конкретная сборка. Содержимое этого файла обычно выглядит так.

https://habr.com/ru/articles/798213/

#cpp #programming

👉 @cpp_lib
Пишем легаси с нуля на С++, не вызывая подозрение у санитаров. 04 — Компиляторная археология

Пишем легаси с нуля на С++, не вызывая подозрение у санитаров. 04 — Компиляторная археология

В данной статье затронем частичку компиляторной истории. И постараемся собрать проект под компилятор 1995 года. Вы спросите, но зачем? Я отвечу: Потому, что можем!

Часть 1
Часть 2
Часть 3

https://habr.com/ru/articles/876272/

#cpp #programming

👉 @cpp_lib
Пишем легаси с нуля на С++, не вызывая подозрение у санитаров. 05 — GDI рендер

В данной статье опишу реализацию GDI рендера для Windows. Узнаем как программировали деды под windows в середине 1990-ых. И наконец создадим функциональный рендер, с возможностью рисовать все типы изображений.

Часть 1
Часть 2
Часть 3
Часть 4

https://habr.com/ru/articles/877542/

#cpp #programming

👉 @cpp_lib
Поговорим об observability на Яндекс Infra Meetup #4

Приглашаем на митап про наблюдаемость приложений от Яндекс Go и Техплатформы Екома и Райдтеха Яндекса. В программе два трека, выбрать можно любой: 

CaseLab: observability. Интерактивный формат решения практических задач совместно с модераторами. 

CaseStudy. 3 доклада от спикеров сервисов: 
— Толя Беляев расскажет про варианты сбора метрик приложения микросервисной архитектуры
— Леша Королев объяснит, как построить дашборд всей платформы Такси
— Леша Золотухин покажет, как создать диагностические дашборды в инфраструктуре на 2000+ микросервисов

После CaseLab и докладов — нетворкинг в неформальной атмосфере и афтепати.
13 февраля, 18:30
Москва, офлайн
 Успейте зарегистрироваться и зовите коллег!
 
Обратите внимание, количество мест ограничено. После регистрации обязательно дождитесь подтверждения заявки.
Практика языка C, 2023-2024

Семинар 1.1. Алгоритм Евклида.
Семинар 1.2. Системы счисления.
Семинар 1.3. Числа Фибоначчи.
Допсеминар: unix shell
Семинар 2.1. Простые числа.
Семинар 2.2. Побитовые вычисления.
Семинар 2.3. Время и случайность.
Углубление пройденного: логическая память и виртуальная память.
Семинар 3.1. Линейный поиск и простые сортировки.
Семинар 3.2. Стратегия "разделяй и властвуй".

источник

#cpp #programming

👉 @cpp_lib