cpp_lib | Unsorted

Telegram-канал cpp_lib - Библиотека C/C++ разработчика

2630

Полезные материалы по всему, что может быть полезно плюсовику/сишнику.

Subscribe to a channel

Библиотека C/C++ разработчика

Генерация пароля с помощью C++

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Шпаргалка по модели памяти С++11

Модель памяти представляет из себя спецификацию допустимого поведения многопоточных программ, работающих с разделяемой памятью (shared memory) [1]. Наиболее примитивной моделью является последовательная согласованность, где все инструкции из всех потоков образуют общий порядок, согласованный с порядком выполнения программы в каждом потоке [2].

Одной из наиболее важных фич C++11 является модель памяти, поддерживающая параллелизм, которая позволяет писать многопоточные программы, не полагаясь на различные расширения для конкретных целевых платформ.

https://people.cs.pitt.edu/~xianeizhang/notes/cpp11_mem.html

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Karl Åkerblom: Краткий обзор Tracy Profiler

Карл вкратце расскажет о профилировании инструментов в Tracy Profiler. Он также поделится своими впечатлениями после внедрения этой системы в работу; расскажет о некоторых приятных сюрпризах и о трудностях, с которыми он столкнулся на этом пути.

https://www.youtube.com/watch?v=W9U5y5jjQDM

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Исследование различий между C++ и C: почему C++ преобладает

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

https://dev.to/idurar/exploring-the-differences-between-c-and-c-why-c-prevails-2g8g

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Собеседование Middle C++

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

C++ — это замечательно, и вот почему

C++ — один из самых непонятных языков в современной поп-культуре разработчиков программного обеспечения. Люди часто сравнивают его с C, потому что это "низкоуровневый" язык. Следовательно, он получил репутацию эзотерического языка, который интересует только параноиков производительности. Это далеко не так. Я программирую на C++ в качестве основного языка уже некоторое время, и опыт разработчика на самом деле очень хорош — гораздо лучше, чем можно было себе представить.

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

https://dev.to/vnjogani/c-is-awesome-here-s-why-1be0

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Изучайте C++: Введение для начинающих

C++ - это мощный, универсальный и широко распространенный язык программирования, который остается актуальным в мире разработки программного обеспечения уже более трех десятилетий. В этой небольшой заметке мы познакомим вас с основами языка C++ и поможем заложить прочный фундамент для начала вашего пути в программировании.

https://dev.to/godot/learn-c-an-introduction-for-beginners-2m06

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Управление зависимостями с помощью Meson + WrapDB

В одной из недавних статей в блоге рассказывалось о том, как собирать и управлять зависимостями с помощью CMake и FetchContent. В качестве примера использовалось простое GUI-приложение, использующее мультимедийные библиотеки SFML и инструментарий виджетов Dear ImGui с использованием соответствующей библиотеки-обертки. Для сравнения проделаем то же самое с Meson.

FetchContent_Declare(
sfml
URL https://github.com/SFML/SFML/archive/refs/tags/2.5.1.zip
URL_MD5 2c4438b3e5b2d81a6e626ecf72bf75be
)
add_subdirectory(sfml)


https://nibblestew.blogspot.com/2021/05/managing-dependencies-with-meson-wrapdb.html


#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Привет 🖐

За несколько дней мои матрицы координально изменились, в момент написания предыдущего поста, матрицы поддерживались лишь стандартом С++20 и выше, на данный момент библиотека настроена и собирается на С++11 С++14 С++17 С++20 С++23

Была пофикшена куча багов, как неочевидных с итераторами, так и простых опечаток.

Могу сказать, что тем, кому лень писать новые матрицы для своих школьных проектов можно смело использовать данную библиотеку, думаю boost использовать непозволительно, а вот библиотеку другого участника School21 вполне можно.

Как раз для этого я создал шаблон cmake проекта MTL (Matrix Template Library) с настроенными зависимости и подтягиванием исходников.

Шаблон можно скачать и попробовать по ссылке, все инструкции того, как настроить проект под себя есть в README .md

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Правка чужого кода

Для одного проекта мне понадобился просмотрщик памяти в DOS. В идеале хотелось бы иметь редактор памяти, чтобы в нём был поиск по ключевым словам, перемещение к заданному адресу. Но для старта мне было бы достаточно хотя бы возможность просмотра всего мегабайта доступной «нижней» памяти.

https://habr.com/ru/company/timeweb/blog/697688/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Оптимизация GUI на Qt

Как правило, при создании desktop-приложений на платформе Qt не возникает проблем, связанных с медленностью работы GUI. Qt – платформа достаточно надежная, неплохо вылизанная по всем параметрам, в том числе и по скорости работы. Однако всё же иногда бывают ситуации, когда из-за обилия виджетов графический интерфейс немного притормаживает, и это печально). В этой статье я приведу один частный пример простого графического интерфейса и покажу, как за два шага можно сначала ускорить его в 11 раз, а потом и в целых 34 раза. Вдобавок к этому, я постараюсь немного осветить механизм принятия решения для таких оптимизационных задач, постараюсь показать направление мыслей для правильного решения. Поехали!

https://habr.com/ru/post/672962/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

SFINAE, непосредственный контекст, оператор << и '\n'

В этой статье я покажу и объясню странную на вид ошибку, связанную с tuple_size_v и инстанцированием для символа \n. Вы увидите некоторые хитрые места в SFINAE и то, как компилятор строит набор разрешений перегрузки.

https://www.cppstories.com/2022/sfinea-immediate-context/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Визуализация алгоритмов стандартной библиотеки C++

В интернете много различных видео, в которых визуализируются алгоритмы. Как правило, такая визуализация делается под определенный алгоритм, и код отрисовки соединен с кодом самого алгоритма. Мне пришла идея отделить визуализацию алгоритма от его исполнения. Тогда можно будет визуализировать любой алгоритм. В том числе алгоритмы стандартной библиотеки С++. Я нашёл способ сделать это, и вот что у меня получилось.

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

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Fibers в C++: основы

Fibers (волокна) менее узнаваемая концепция по сравнению с coroutines (сопрограммами), является довольно мощным дополнением к кооперативной многозадачности. Как графический программист в игровой индустрии, я ценю большую гибкость, которую дают волокна. Я считаю, что эта технология немного недооценена из-за отсутствия достаточного количества общедоступных материалов.

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

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

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Собираем и запускаем калькулятор из Windows XP в среде Windows 10 c помощью GCC x64

Дисклеймер
Все действия, описанные автором в статье, сделаны исключительно в исследовательских и образовательных целях. Windows является зарегистрированным товарным знаком Microsoft.

Введение

В 2020 году мир облетела новость о сливе исходников Windows XP и Windows Server 2003 на 4Chan. После этого код широко разошелся по интернету, включая GitHub, который принадлежит Microsoft. Последняя, естественно, сразу начала принимать меры по блокировке кода, многие сайты и репозитории были удалены из поиска.

Каков же статус ситуации на 2023 год? Как ни парадоксально, исходники все еще можно найти на GitHub и клонировать без особых проблем. Тщательно поискав, можно найти инструкции и видео, как все собрать инструментами, которые идут в комплекте с исходниками системы.

Среди всех ОС от Microsoft, Windows XP является одной из самых моих любимых ОС. Она весьма быстрая, легковесная, но в тоже время интерфейс достаточно удобен для работы. По этим причинам, а также будучи разработчиком C и С++, мне было весьма интересно исследовать код данной ОС.

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

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Как мы анализируем потребление памяти нативными приложениями (C++, Windows, Linux)

Технологическая платформа 1С:Предприятие – это большой программный продукт (только на С++ - более 10 миллионов строк кода, а есть ещё Java и JavaScript). Подробнее про устройство платформы можно прочитать тут.

В процессе эксплуатации решений, созданных на платформе 1С:Предприятие, мы иногда сталкивались с тем, что в определенных сценариях потребление памяти процессами платформы казалось нам избыточным. К сожалению, простых способов выяснить, так ли это в действительности, для столь большого приложения у нас не было. Поэтому мы начали искать специализированные инструменты, которые могли бы помочь нам в анализе использования памяти, потребляемой нашими приложениями.

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

https://habr.com/ru/companies/1c/articles/761012/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Parallel C++. Часть 2
Часть 1 /channel/cpp_lib/835

Vectorization
SIMD Intrinsics
Unsafe Math Optimizations
Thread Affinity
Memory Ordering in x86 Processors
Thread Sanitizer
OpenMP
OpenMP Synchronization
OpenMP Reduction
OpenMP Single Directive

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Курсы Моушн-дизайна со стажировкой в IT-компаниях!

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

Освоите инструменты для работы с 2D и 3D: After Effects, Cinema 4D, Redshift, Houdini FX и Unreal Engine 5

Преподаватели — ведущие дизайнеры российских и зарубежных CG-студий

Школа дизайна и технологий Bang Bang Education


Попробовать

#реклама
bangbangeducation.ru

О рекламодателе

Читать полностью…

Библиотека C/C++ разработчика

Курс "Тестировщик" с трудоустройством через 4 месяца!

Получите востребованную IT-профессию без технического образования.

Научитесь ручному тестированию и автоматизации на Python.

Соберете портфолио из 14 проектов и начните работать после 4 месяцев обучения!


Подать заявку

#реклама
bangbangeducation.ru

О рекламодателе

Читать полностью…

Библиотека C/C++ разработчика

Вижу ваше истинное предназначение - Бухгалтерский учёт!

Учим колдовать над бюджетами и делать невозможное на курсе «Профессия Бухгалтер».

Узнать больше

#реклама 16+
skillbox.ru

О рекламодателе

Читать полностью…

Библиотека C/C++ разработчика

⁉️ Как разработчику С++ отстроиться от конкурентов?

‼️ Прокачивать скиллы и получать востребованные навыки. Например, многопоточное программирование – скилл, который точно даст вам ощутимое преимущество на собеседовании в крупную компанию.

🔥 Начните изучение на бесплатном открытом уроке «Инструменты многопоточного программирования в стандартной библиотеке» от OTUS.

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

📢📢 Занятие пройдёт 12 октября в 20:00 мск и будет приурочено к старту курса «C++ Developer. Professional». В дальнейшем вы сможете продолжить обучение на специальных условиях.

👉 Пройдите бесплатное вступительное тестирование прямо сейчас и зарегистрируйтесь на событие.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Библиотека C/C++ разработчика

Минимально жизнеспособный декларативный графический интерфейс на языке C++

https://ossia.io/posts/minimum-viable/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

The new static constexpr std::integral_constant idiom

https://www.foonathan.net/2023/08/static-constexpr-integral_constant/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

std::atomic_thread_fence

std::atomic_thread_fence — это функция, которая устанавливает порядок синхронизации памяти для не атомарных и расслабленных атомарных доступов, как указано в аргументе order, без связанной атомарной операции.

std::atomic_thread_fence может использоваться для обеспечения правильного порядка чтения и записи в многопоточных программах.

В этом примере два потока выполняют функции write_x_then_y и read_y_then_x:

- write_x_then_y устанавливает значение атомарной переменной x равным 1, затем вызывает std::atomic_thread_fence с аргументом std::memory_order_release и устанавливает значение атомарной переменной y равным 1.

- read_y_then_x считывает значение атомарной переменной y, затем вызывает std::atomic_thread_fence с аргументом std::memory_order_acquire и считывает значение атомарной переменной x.

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Многопоточность C++

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

20 небольших, но полезных функций C++20

С++20 - это огромный и многофункциональный продукт. Вот лишь некоторые из них: Modules, Coroutines, Concepts, Ranges, Calendar & Timezone, Formatting library.

Но, как вы понимаете, это еще не все.

В зависимости от того, как считать, в C++20 появилось около 80 библиотечных функций и 70 изменений в языке, так что есть о чем рассказать :)

В этой статье я покажу вам 20 небольших возможностей C++20, которые очень удобно и полезно знать. Десять элементов языка и еще десять для стандартной библиотеки. Большинство из них сопровождаются интересным примером.

https://www.cppstories.com/2022/20-smaller-cpp20-features/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

(Жизненный) cовет от создателя C++

Создатель C++, Бьёрн Страуструп, делится ценными жизненными советами, которыми, скажем прямо, могли бы воспользоваться все разработчики, независимо от их многолетнего опыта. По словам Бьерна, «вы не можете просто писать код», вам нужно развивать больше навыков, если вы хотите стать всесторонним успешным разработчиком. Посмотрите это неизданное интервью, если вы хотите получить вдохновение и рекомендации на своем пути разработчика от одного из OG.

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Сделайте первый шаг в изучении асинхронного программирования

Асинхронное программирование используется для оптимизации высоконагруженных приложений с частым ожиданием системы. Умение грамотно с ним работать сильно повышает шансы разработчика попасть в элитный проект.

Изучите технологию на бесплатном открытом уроке «Асинхронное программирование с помощью boost.asio» от OTUS.

На эфире вы узнаете:
— Как использовать библиотеку boost.asio для асинхронного программирования;
— Что такое и как работать с io_context, корутинами, strand, executor, thread_pool.

Урок будет полезен для С++-разработчиков.

Преподаватель Александр Ключев – ведущий программист в «Новые облачные технологии», уже 10 лет в IT, 7 из которых посвятил C++.

📆 Занятие пройдёт 28 сентября в 20:00 мск в рамках курса «C++ Developer Professional».

➡️ Пройдите бесплатное вступительное тестирование прямо сейчас и зарегистрируйтесь на событие

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Библиотека C/C++ разработчика

Внутри STL: Различные типы блоков управления общим указателем

https://devblogs.microsoft.com/oldnewthing/20230821-00/?p=108626

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Пройдите курс по SQL в Нетологии за 0₽

Специалисты, которые умеют работать с SQL, высоко ценятся на рынке труда.

Они работают в крупных компаниях и на фрилансе, получают зарплату выше рынка и быстро растут в профессии.

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

А по промокоду TG5 получите специальную скидку 5% на курсы дополнительного профессионального образования.


Зарегистрироваться

#реклама 16+
netology.ru

О рекламодателе

Читать полностью…
Subscribe to a channel