C++ дайджест #23: оптимізація компіляції та підсумки року
Привіт, мої любі сішники! Вітаю вас з Новим роком та Різдвом! Нехай у цьому році код стає якіснішим, компіляція швидшою, а проекти цікавішими! ;)
Новорічний випуск пропоную присвятити підсумкам року та оптимізації компіляції. То ж почнімо? :)
Підсумки 2019
C++ at the end of 2019 — детальний підсумок у подіях та фактах.
На Meeting C++ запущено опитування , за яким маємо такі цікаві результати (результати актуальні на 10 січня та можуть змінюватися в зв'язку з тім, що опитування ще триває).
Найчастіше зі стандартів використовуються:
Бібліотеки:
Середовище:
Оптимізація годині компіляції
Досить тривалий годину компіляція є одним із суттєвих недоліків З++. Хоча тривала компіляція забезпечує нам можливість заварювати каву та переглядати останні новини/дайджести без поспіху, вона може стати суттєвим головним болем перед дедлайном. Тож розглянємо, як оптимізувати.
Герб Саттер для вирішення цієї проблеми пропонує перевірити хедери та використовувати Pimpl , як і хлопці в цьому блозі:
- Reduce C++ Build Times by Reducing Header Dependencies ,
- Reduce C++ Build Times (Part 2) with the Pimpl Idiom .
Онлайн книга С++ best practices пропонує більш розширений список рекомендацій .
З цієї тими корисно буде почитати:
- Faster C++ builds ;
- Speeding up the Build of C and C++ Projects ;
- A simple comparison ;
- Making Compiles Slow Through Abuse of Templates .
Відео з CppCon:
Modern C++
C++20: Concepts — What we don't get
C++20: Concepts, the Placeholder Syntax
C++ coroutines: Getting started with objects awaitable
A beginner's guide to C++ Ranges and Views
Корисні посилання
Substitution Failure is Error and Not An Error
What Is MISRA and how to Cook It
Modern C++ type CoDec Challenge
Dry-comparisons: A C++ Library to Shorten Redundant If Statements
Accidentally Overwriting Another Local Variable in C and C++
The Eight Rules of Multithreaded Qt
Open sourcing Google Cardboard
Waiting for std::embed: Very Large Arrays in Clang
Інструменти
Top 10 Bugs Found in C++ Projects in 2019 PVS studio
CMake 3.16 added support for precompiled headers & unity builds
A Gentle Intro to Developing C++ Apps for AWS and S3
CLion: Our Plan for Next Year and the 2020.1 Roadmap
Build C++ Applications in a Linux Docker Container with Visual Studio
Оновлення
Цього місяця маємо такі оновлення:
- CLion 2019.3 ;
- Wt & JWt 3.5.0 and Wt 4.2.0 ;
- Ogre 1.12.4 ;
- boost v.1.72.0 ;
- Qt 5.9.9 , Qt Installer Framework 3.2.0 , Qt 5.14 , Qt Visual Studio Tools 2.4.2 ;
- Conan 1.21 ;
- Unreal Engine 4.24 ;
- CryEngine 5.6.5 ;
- Announcing NVIDIA PhysX SDK 5.0 ;
- Nsight Systems 2019.6 ;
- ReSharper C++ 2019.3 ;
- PVS-Studio 7.05 .
Хвилиночка флуду
? Попередній випуск: C++ дайджест #22
Опубліковано: 11/01/20 @ 11:00
Розділ Різне
Рекомендуємо:
Розгортаємо AWS для розробки локально на базі LocalStack
Асинхронність в C#. Руйнування легенд
Чи є життя після macOS, або Як я переїхав на Linux десктоп і не шкодую
Коли в добі досить годин, або Чому варто навчитися грамотному плануванню
DOU Hobby: авіамоделювання - від розробки моделі літака до запуску в небо