Найти в Дзене
Язык, который строит будущее — C++

Язык, который строит будущее — C++

C++: мощь, контроль и производительность для технологий будущего.
подборка · 8 материалов
1 месяц назад
Десять утилит терминала, которые экономят часы — htop, ripgrep, fzf и другие
«Я трачу кучу времени на рутину» — признайся, что ты это говорил хотя бы раз. А дело в том, что ты не знаешь пары утилит, которые сэкономят тебе кучу времени. Вот моё топ-10. ```bash htop ``` Вместо `top` — красивый интерфейс, который понимает твои глаза. Показывает процессы, нагрузку, память. И не нужно помнить кучу команд. ```bash rg 'function_name' src/ ``` Вместо `grep` — быстрее, умнее, игнорирует `.gitignore` по умолчанию. Ищет по содержанию файлов, а не по именам. ```bash fzf ``` Просто набираешь название файла — и он появляется...
1 месяц назад
Что происходит, когда жмёшь кнопку Скомпилировать: препроцессор, компилятор, линкер по шагам
«Жму Compile — и что происходит?» — вопрос, который я задавал себе каждый раз, пока не понял, что за этим стоит целая цепочка инструментов. Давай пройдёмся по шагам. Первый этап — препроцессор. Он делает вот что: ```bash g++ -E main.cpp > main.i ``` Он раскрывает макросы, подключает заголовки, убирает комментарии: ```cpp // Исходник #include <iostream> #define PRINT(x) std::cout << x // После препроцессора std::cout << ...; std::cout << ...; ``` Компилятор берет препроцессированный файл и делает из него ассемблерный код: ```bash g++ -S main...
1 месяц назад
Указатели в C++: почему программа падает с segfault и как это чинить — разыменование, нулевой указатель, типовые ошибки
Бывает такое: запустил программу — а она упала с segfault. И стоит себе молчит, будто ничего и не случилось. А ты сидишь, думаешь, что же там такого накодил. Расскажу на пальцах, как не допустить этого и что делать, если всё-таки допустил. Всё дело в указателях — самой мощной и самой опасной штуке в C++. Если ты работаешь с памятью вручную, ты рано или поздно придёшь к тому самому segfault. Давай разберёмся по полочкам. Segfault — это signal segmentation fault, сигнал от операционной системы. Проще говоря, твоя программа попыталась обратиться к памяти, которой ей не положено...
4 месяца назад
🧨 МАССИВЫ В C++: Твоя база данных на минималках (или как не похоронить свой код заживо)
Привет, мой друг-программист! 👋 Сегодня мы разберем тему, с которой начинается 90% багов, седых волос и ночных дебаггинг-сессий. Тема, которая кажется простой, но убивает джунов на собеседованиях за 2 секунды. Я говорю о МАССИВАХ в C++. Ты думаешь: «Что там сложного? int arr[5]; arr[0] = 10; — всё?» О нет, дружочек. Сядь поудобнее. Сейчас я расскажу, почему 99% программистов используют массивы неправильно, и как делать это как настоящий сеньор. 💀 Факт: больше половины уязвимостей в старом коде — из-за неправильной работы с массивами...
4 месяца назад
🚀 СРОЧНО В ЭФИР: Почему твоя консоль показывает «крокозябры» вместо «Привет, мир!»? Разбор set_up_console() из ада и рая
Привет, мой друг-программист, будущий сеньор и повелитель терминалов! 👋 Сегодня мы разберем ситуацию, которая бесит каждого, кто пишет на C++ под Windows, но хочет дружить с русским, японским или даже эмодзи 🥷 в консоли. Ты когда-нибудь запускал простейшую программу: А вместо этого видел в консоли что-то типа ╨Я─╨╕╨▓╨╡╤В? Поздравляю, ты столкнулся с кодировкой. И сегодня мы вскроем этот гнойник, накатим правильный SetConsoleOutputCP и сделаем твою консоль дружелюбной к людям. 💡 Эта статья — твой билет в мир, где вывод на русском не требует плясок с бубном...
4 месяца назад
Как я собирал FFmpeg для Android и чуть не сошёл с ума: история одной линковки
Каждый, кто пытался скомпилировать FFmpeg под Android, знает: это не просто сборка — это квест. С багами, подставами и финалом, который заставляет поверить в чудо. Когда я впервые решил упаковать медиафайлы прямо в C++ на Android, я думал: FFmpeg же open source, скачал — собрал — profit. Ха. Реальность оказалась такой: ❌ Windows NDK не работает в WSL ❌ .so файлы без символов ❌ Дублирующиеся символы ❌ Ассемблер «включён», но по факту нет ❌ NTFS тормозит сборку в 10 раз Каждая ошибка — это 2-3 часа гугления, стакан кофе и вопрос «зачем я вообще это делаю»...