Библиотека C/C++ разработчика
6.8K subscribers
652 photos
690 videos
8 files
938 links
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Download Telegram
Media is too big
VIEW IN TELEGRAM
TCP/IP сети с помощью Boost.Asio

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

В этом месяце Ричард Томсон продолжит наше знакомство с Boost.Asio рассмотрением сетевых технологий TCP/IP. Мы рассмотрим, как реализовать клиент NNTP (Network News Transport Protocol) с помощью Boost.Asio. NNTP - это линейно-ориентированный протокол для чтения новостных статей usenet. Это даст нам представление обо всех типичных проблемах, связанных с сетевыми приложениями TCP/IP:

- Как преобразовать имя хоста в IP-адрес?
- Как установить долговременное соединение с сервером NNTP?
- Как обрабатывать произвольно большие объемы данных с NNTP-сервера, которые поступают асинхронно?
- Как мы координируем ввод данных пользователем с вводом/выводом NNTP?
- Как мы справляемся с неожиданными сетевыми ошибками?

источник

#cpp #programming

👉 @cpp_lib
👍3🔥2
Include guards и их оптимизация

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

https://includeguardian.io/article/include-guards-and-their-optimizations

#cpp #programming

👉 @cpp_lib
👍1
Как итерироваться через std::tuple, std::apply и многое другое

https://www.cppstories.com/2022/tuple-iteration-apply/

#cpp #programming

👉 @cpp_lib
👍2
Реализация утилиты cat на C

Программисты часто используют встроенные команды unix для решения задач. Давайте реализуем cat. cat - утилита которая объединяет файлы и выводит их в стандартный вывод.

Цель
Идея довольно проста - принять файл в качестве аргумента, открыть его, занести в буфер по частям и вывести на стандартный вывод. Утилита cat также оснащена различными флагами опций, которые позволяют пользователю манипулировать буфером перед его отправкой на стандартный вывод.

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

#cpp #programming

👉 @cpp_lib
👍3
В Москве заметили необычные баннеры с кодом от Академии Яндекса, в которых точно что-то спрятано, но в коде есть ошибка.
Пытаемся разобрать эту задачку, но пока не выходит. Может, у вас получится?

@BookPython
👍10👎3😱2
Как отлаживать лямбда-выражения C++ с помощью GDB

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

https://developers.redhat.com/articles/2023/05/03/how-debug-c-lambda-expressions-gdb

#cpp #programming

👉 @cpp_lib
👍3
Автоматическая сериализация в C++ для игровых движков

Вы создали свою игру, возможно, сделали движок, и теперь готовы внести последние штрихи. Игроки определенно захотят сохранить свою игру. Это означает сохранение всего текущего состояния игры в файл..... Ничего себе, сколько работы, правда? Теперь каждый враг, персонаж, предмет, поваленное дерево, взорванное здание, локация и т.д. должны быть помещены в файл. А потом нужно снова его прочитать. Какой кошмар.

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

https://indiegamedev.net/2022/03/28/automatic-serialization-in-cpp-for-game-engines/

#cpp #programming

👉 @cpp_lib
👍4🤔1
Три очень практичные фичи C++23

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

https://mariusbancila.ro/blog/2022/01/17/three-cpp23-features-for-common-use/

#cpp #programming

👉 @cpp_lib
👍5
Анонс scip-clang: новый SCIP-индексатор для C и C++

scip-clang - это наш новый индексатор для кода на языках C и C++, написанный с нуля для нативной эмуляции SCIP и особенно для поддержки широкого спектра языковых возможностей, присутствующих в C++.

https://about.sourcegraph.com/blog/announcing-scip-clang

#cpp #programming

👉 @cpp_lib
👍3
Получить работу в крутой компании за один день? Легко!
Оставь заявку на участие в One day offer, который проводит разработчик офисного ПО МойОфис, и оперативно получи предложение о работе.

Компания ищет программистов C++ с хорошим знанием C++ 11/14, STL, Boost, QT и опытом работы более 3-х лет. Если ты соответствуешь этим критериям, то оставь заявку на участие до 10 июня, выполни тестовое задание и ожидай приглашение на собеседование, которое пройдет 17 июня.

Обещают удаленный или гибридный график работы, интересные задачи, конкурентную заработную плату, а также помощь с релокацией в Москву, Санкт-Петербург, Самару или Иннополис.

Подробности и регистрация на сайте проекта