TGViewer
Channel Public Channel
Библиотека C/C++ разработчика | cpp, boost, qt

Библиотека C/C++ разработчика | cpp, boost, qt

@cppproglib

Все самое полезное для плюсовика и сишника в одном канале.

Как запустить своего ии-агента: https://clc.to/tvpmDQ

По рекламе: @tproger_sales_bot

Обратная связь: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17

#WXSSA
Subscribers
16.8K
Photos
2.3K
Videos
74
Links
4.6K

Showing posts older than #4242 · Back to latest

Older Posts 16 shown
Post #4241 4.15K
🚶‍♂️🚏 Embox отправляется на Vostok

Эта статья — своеобразный (расширенный) анонс того, что Embox перенесен на микроконтроллеры еще одного производителя микроэлектроники в РФ. Речь идет о платформе Vostok базирующейся на микроконтроллерах ГК «Элемент».

«Восток» базируется на идее построения экосистемы вокруг отечественной электроники через предоставление пользователям готовых программно-аппаратных решений. Причем эти решения ориентированы на очень широкий класс пользователей: от обучения школьников робототехнике (уже разработан аналог ARDUINO) и до промышленной автоматики и роботов.

Embox:

🔹 открытый проект,
🔹 позволяет пользоваться экосистемой Linux,
🔹 позволяет привычно разрабатывать,
🔹 позволяет получить оптимизированную под конкретные цели систему,
🔹 имеет поддержку в РФ.

Читать статью

#почитать
  • 👍 8
  • 🤔 1
Post #4240 4.62K
🫡 💩 Для обработки строк потоки в C++ могут быть медленными

Потоки могут быть на удивление медленными. Например, если вы хотите анализировать числа, то эта процедура C++ близка к наихудшему возможному выбору с точки зрения производительности:

std::stringstream in(mystring);
while(in >> x) {
sum += x;
}
return sum;


Проведем эксперимент — возьмем строки, содержащие символ «%», и создадим новые, в которых символ % заменен на %25, но остальная часть строки остается неизменной.

Простая конструкция строки выглядит следующим образом:

std::string string_escape(const std::string_view file_path) {
std::string escaped_file_path;
for (size_t i = 0; i < file_path.length(); ++i) {
escaped_file_path += file_path[i];
if (file_path[i] == '%')
escaped_file_path += «25»;
}
return escaped_file_path;
}


Оптимизированная версия с использованием потоков выглядит следующим образом:

std::string stream_escape(const std::string_view file_path) {
std::ostringstream escaped_file_path;
for (size_t i = 0; i < file_path.length(); ++i) {
escaped_file_path << file_path[i];
if (file_path[i] == '%')
escaped_file_path << «25»;
}
return escaped_file_path.str();
}


Продолжить изучение

#гайд
Daniel Lemire's blog For processing strings, streams in C++ can be slow The C++ library has long been organized around stream classes, at least when it comes to reading and parsing strings. But streams can be surprisingly slow. For example, if you want to parse numbers, then this C++ routine is close to being the worst possible…
  • 🤩 17
  • 👍 5
  • 🔥 1
Post #4239 4.07K
  • 👍 6
  • ❤ 1
Post #4238 3.89K
  • 👍 4
  • 👏 2
Post #4237 4.23K
  • 👍 7
  • ❤ 2
Post #4236 4.26K
👁Помогите «Библиотеке программиста» лучше узнать свою аудиторию

Друзья, мы хотим делать для вас самый лучший контент — и для этого нам нужно узнать вас получше.

Пожалуйста, ответьте на несколько вопросов — это поможет нам делать более полезные и интересные посты!

Первая часть опроса 👇
  • ❤ 3
Post #4235 4.67K
#memes
  • 😁 47
  • 👍 7
  • 🤯 2
  • 🔥 1
Post #4234 4.64K
❗️Мы запускаем серию исследований — и вы можете нам в этом помочь!

«Библиотека программиста» выпустит несколько статей, в которых мы проведем полноценные исследования.

Помогите нам выбрать интересные темы: может быть, вы давно хотели узнать, как изменилась зарплата у тех, кто релоцировался? Или гадаете, сколько лет нужно, чтобы стать миддлом?

Присылайте интересующие вас темы в комментарии — интересные мы возьмем в работу и поделимся с вами результатами 💙
  • 🔥 4
  • 👍 2
  • ❤ 1
Post #4233 4.29K
  • 👏 6
  • 🔥 2
  • 😁 1
  • 🤯 1
Post #4232 4.81K
🤔 очередной #дайджест по С++

🔺 Книга Beginning C++23: From Beginner to Pro — путь программирования на языке C++ с основ и пошаговых примеров, которые помогут вам стать опытным программистом

🔺 Создание своего терминала на C++ и Qt — минималистичный терминал для Linux на основе Qt 5 и qtermwidget5

🔺 Фильтруем логи санитайзеров и valgrind на примере приложения с Qt — решение периодически встречающейся проблемы кода на С и C++ с утечками памяти и неопределенным поведением

🔺 SObjectizer Tales — построению программ на основе акторной модели с помощью SObjectizer

🔺 Осенний митап по стандартам ISO C++ — что вошло в C++26 (pack indexing, linalg, debugging); что вот-вот войдет, но требуют небольших доработок (contracts, reflection)
  • 👍 12
  • 🥰 7
  • 👏 5
  • ❤ 3
  • 🔥 3
Post #4231 5.37K
👬👬 Параллельное программирование

00:34 — Основы исполнения кода
01:09 — Основы операционных систем
02:01 — Параллельное и конкурентное исполнение кода
02:42 — Примитивы синхронизации
03:45 — Основы архитектуры компьютера
04:06 — Атомики
04:51 — Проблемы параллельного программирования
05:23 — Продвинутые примитивы синхронизации
06:02 — Паттерны параллельного программирования
06:46 — Ввод-вывод
07:15 — Барьеры памяти
08:03 — Продвинутая архитектура компьютера
08:57 — Алгоритмы синхронизации
09:56 — Lock-free структуры данных
10:30 — Wait-free структуры данных
10:45 — Как изучать параллельное программирование

#видео
  • 👍 5
Post #4230 5.02K
🎯✏️ Реализация #embed для C и C++

Речь пойдет о реализации директивы бинарного включения данных в gcc и clang для C и C++.

Автор опишет способ, которым реализовал #embed для GCC и Clang, и стиль работы, который использовал для ранней версии #embed. Будет использоваться общедоступная версия #embed, которая предложена Clang, в качестве инструмента для отображения одного из используемых методов, позволяющих получить гарантированное ускорение для подмножества случаев, которые имеют значение (например, инициализация массива char/signed char/unsigned char).

Изучить материал

#гайд
  • 🔥 4
  • 👏 2
  • 👍 1
Post #4227 5.22K
#memes
  • 😁 47
  • 👍 5
Post #4226 5.13K
🎉🎉 Выпуск среды разработки Qt Creator 12

Qt Creator (ранее известная под кодовым названием Greenhouse) — свободная IDE для разработки на С, C++, JavaScript и QML. Разработана Trolltech (Digia) для работы с фреймворком Qt. Включает в себя графический интерфейс отладчика и визуальные средства разработки интерфейса как с использованием QtWidgets, так и QML. Поддерживаемые компиляторы: GCC, Clang, MinGW, MSVC, Linux ICC, GCCE, RVCT, WINSCW.

В состав Qt Creator входит передовой инструмент Qt Designer, позволяющий создавать внешний вид окна приложения, добавляя и перетаскивая элементы по аналогии Windows Forms в Visual Studio. В качестве систем сборки используются qmake, cmake и autotools

Что было добавлено?

🔹 Интегрированный обозреватель компиляторов
🔹 Отладка и профилирование CMake
🔹 Запись экрана

Полный список всех изменений

Читать статью

#новость
  • 👍 9
  • 🔥 4
  • 👏 2
Post #4219 4.02K

Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение

🔢 Как научиться решать сложные задачи

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

Ещё больше книг, а также курсы, игры, методики и приложения — в нашей статье 👈
  • 👍 9
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 →