|
Дал ему подборку книг, он приходит месяца через два, и с порога такой сразу: интервью Жака Фреско |
Рубрика «c++» - 9
Книги, о которых редко говорят
2024-01-13 в 0:41, admin, рубрики: c++, Алгоритмы, история, книги, математика для гуманитариевМалоизвестные и интересные особенности C и C++
2024-01-12 в 16:40, admin, рубрики: C, C and C++, c++, c++11, C++14, c++17, exceptions, partial template specialization, templates, Virtual InheritanceВ C и C++ есть особенности, о которых вас вряд ли спросят на собеседовании (вернее, не спросили бы до этого момента). Почему не спросят? Потому что такие аспекты имеют мало практического значения в повседневной работе или попросту малоизвестны.
Выполняем сторонние программы на микроконтроллерах с Гарвардской архитектурой: как загружать программы без знания ABI?
2024-01-05 в 8:01, admin, рубрики: Atmega, attiny, avr, bodyawm_ништячки, C, c++, cc, dll, elf, esp32, esp8266, exe, executable, gcc, gnu ld, ld, linker, pic, timeweb_статьи, xtensa, бинарные файлы, загрузчик, исполняемый файл, компоновщик, микроконтроллеры, микропроцессоры, программа, программы, системное программирование
Зачастую в процессе разработки собственных устройств или моддинга уже существующих, встаёт задача выполнения стороннего кода: будь то ваши собственные программы с SD-флэшек, или программы, написанные другими пользователями с помощью SDK для вашего устройства. Тема компиляторов и кодогенерации достаточно сложная: чтобы просто загрузить ELF или EXE (PE) программу, вам нужно досконально разбираться в особенностях вашей архитектуры: что такое ABI, релокации, GOT, отличие -fPIE от -fPIC, как писать скрипты для ld и т. п. Недавно я копал SDK для первых версий Symbian и основываясь на решениях из этой ОС понял, каким образом можно сделать крайне «дешевую» загрузку любого нативного кода практически на любом микроконтроллере, совершенно не вникая в особенности кодогенерации под неё! Сегодня мы с вами: узнаем, что происходит в процессе загрузки программы ядром Linux, рассмотрим концепцию, предложенную Symbian Foundation и реализуем её на практике для относительно малоизвестной архитектуры — XTensa (хотя она используется в ESP32, детали её реализации «под капотом» для многих остаются загадкой). Интересно? Тогда добро пожаловать под кат!
Читать полностью »
30 лет DOOM: новый код — новые баги
2023-12-10 в 11:12, admin, рубрики: bugs, c++, DOOM, Gamedev, gamedevelopment, id software, баги, ошибки в коде, разработка игрСегодня первой игре из серии DOOM исполняется ровно 30 лет! Мы не могли обойти стороной это событие и в честь этого решили посмотреть, как же выглядит код этой легендарной игры спустя годы.

Предисловие
Lesta Studio и её тестовое задание с подвохом
2023-12-09 в 10:30, admin, рубрики: c++, lesta games, qt, собеседование, собеседование в IT, собеседование на работу, собеседования в ит, тестовое заданиеИскали статеечку с жалобами джуна о несправедливости IT? Так вот же она!
В чём суть истории
Подал резюме в Lesta Studio. HR связалась, рассказала о командах. Назначили технический собес. Задавали вопросы по C++, на всё ответил. На вопросы по ОС показал себя плохо. В итоге сошлись на том, что нужно дать мне тестовое задание на многопоточку. До свиданья, до свиданья, HR пришлёт вам задание.
В итоге HR сообщает, что тестовое изменили, и теперь ты будешь делать на Qt редактор списка объектов. Срок неделя. Классика.
Вы точно хотите пойти программистом в gamedev?
2023-11-19 в 20:49, admin, рубрики: c++, разработка, разработка игр, управление, управление проектамиНе Unity единым…
2023-11-04 в 0:12, admin, рубрики: c++, game engines, open source, игровые движки, разработка игрКак и почему я писал для Флиппера на Си-с-классами
2023-10-24 в 9:00, admin, рубрики: C, c++, flipper zero, ruvds_статьи, си-с-классамиА для написания кода я решил использовать всё же не C, а C++ — точнее, даже «Си-с-классами». На мой взгляд, затуманенный языками более высокого уровня, такой подход получился удобнее, чем писать на чистом C. Результат можно увидеть в моём репозитории, а в этой статье я попытаюсь описать, какие конкретные фичи языка я использовал, и как именно они мне помогли.

В свободное время я восстанавливаю старенькую, но довольно известную игру Pharaoh. Это ситибилдер, выпущенный в прошлом веке и разработанный Impressions Games. Технология рендеринга в этой игре была значительным достижением для своего времени и способствовала созданию впечатляющей атмосферы Древнего Египта, которая погружает игрока в проработанное окружение, удивляет вниманием к мелким деталям и передает богатство и разнообразие древнеегипетских пейзажей. В этой статье я опишу алгоритм отрисовки города, зданий, объектов, анимации и формат карты оригинальной игры.
Форматирование текста на C++ старым и новым способом
2023-09-22 в 13:00, admin, рубрики: c++, ruvds_перевод, Программирование, форматирование строк
Форматирование текста на C++ можно реализовать несколькими способами:
- потоками ввода-вывода. В частности, через
std::stringstream
с помощью потоковых операций (таких какoperator <<
); - функциями
printf
, в частностиsprintf
; - с помощью библиотеки форматирования C++20, в частности
std::format
/std::format_to
; - с помощью сторонней библиотеки, в частности
{fmt}
(основа новой стандартной библиотеки форматирования).
Первые два варианта представляют старые способы. Библиотека форматирования, очевидно, является новым. Но какой из них лучше в плане производительности? Это я и решил выяснить.Читать полностью »