gcc
-
Хабрахабр
Выполняем сторонние программы на микроконтроллерах с Гарвардской архитектурой: как загружать программы без знания ABI?
Зачастую в процессе разработки собственных устройств или моддинга уже существующих, встаёт задача выполнения стороннего кода: будь то ваши собственные программы с SD-флэшек, или программы, написанные другими пользователями с помощью SDK для вашего устройства. Тема компиляторов и кодогенерации достаточно сложная: чтобы просто загрузить ELF или EXE (PE) программу, вам нужно досконально разбираться в особенностях вашей архитектуры: что такое ABI, релокации, GOT,…
Читать далее » -
Хабрахабр
Старые кодовые базы как классическая литература
Сохранившиеся фрагменты греческих папирусов, источник В языке и литературе работает известный принцип начитанности: чем больше человек читает хороших книг, тем больше у него словарный запас, шире кругозор. Развивается понятийный аппарат, сама собой улучшается грамотность без всяких учебников. Применим ли этот принцип в обучении программированию? ▍ Linux 0.0.1 Конечно, изучать исходники классических программ полезно для общего развития. Например, внутренности Linux 0.0.1…
Читать далее » -
Хабрахабр
40 лет GNU
Операционные системы имеют основополагающее значение для Интернета, каким мы его знаем сегодня, поскольку в настоящее время они обеспечивают работу миллионов серверов, компьютеров и других встроенных вычислительных устройств. Отдельное почётное место среди этого занимает ОС Linux (или GNU/Linux), используемая миллиардами человек во всём мире. GNU — Unix-подобная ОС с открытым исходным кодом, созданная 40 лет назад в 1983 году Ричардом Столлманом.…
Читать далее » -
Хабрахабр
Собираем и запускаем калькулятор из Windows XP в среде Windows 10 c помощью GCC x64
Дисклеймер Все действия, описанные автором в статье, сделаны исключительно в исследовательских и образовательных целях. Windows является зарегистрированным товарным знаком Microsoft. Введение Привет всем. В 2020 году мир облетела новость о сливе исходников Windows XP и Windows Server 2003 на 4Chan. После этого код широко разошелся по интернету, включая GitHub, который принадлежит Microsoft. Последняя, естественно, сразу начала принимать меры по блокировке кода, многие…
Читать далее » -
Хабрахабр
[Перевод] Как я вошёл в клуб бага 323
Это история о баге, который бы заставил вас рвать на себе волосы. Из-за такого бага вы можете подумать: «Но это невозможно, должно быть, компилятор сломался, других вариантов нет!» А баг компилятора — это серьёзно: за двенадцать лет программирования на C++ я обнаружил (и написал отчёт) всего... об одном. И могу сказать, что перед отправкой отчёта о баге GCC я максимально…
Читать далее » -
Хабрахабр
[Перевод] В {n} раз быстрее Си
Иногда человек может обнаружить такие возможности оптимизации, которые не видит компилятор. В этой статье мы начнём с цикла, сгенерированного из кода Си с помощью clang, и скорректируем его разными способами, попутно измеряя прирост в скорости. Эта статья публиковалась на главной странице HackerNews, и к её обсуждению вы можете присоединиться здесь. Дисклеймер: я не эксперт по оптимизациям. По факту мой опыт…
Читать далее » -
Хабрахабр
Из серии: заглянем под капот clang-e2k/llvm-e2k из штатного дистрибутива для Эльбруса
Тема непосредственно самого процессора Эльбрус уже достаточно хорошо раскрыта в различных статьях, в том числе, в статьях, опубликованных на habr.ru. Кроме самого процессора Эльбрус время от времени на просторах рунета можно встретить обсуждения, посвященные вопросу портирования компилятора clang/llvm на Эльбрус. Пожалуй, данная тема еще не получала подробного освещения. Данная заметка призвана заполнить этот «пробел». Если вкратце, то llvm из e2k-дистрибутива…
Читать далее » -
Хабрахабр
Linux на esp32s3
Вопрос о том, можно ли загрузить линукс на микроконтроллерах Espressif я впервые услышал в 2015, в период бума esp8266. Тогда мой ответ на него был: "нет, не это ядро и не на этом железе". Но прошло 8 лет и ответ изменился на "да, и у меня есть рабочий пример". Дальше рассказ о том, как это произошло. esp8266 Однозначный ответ "нет,…
Читать далее » -
Хабрахабр
Разработка BIOS на языках высокого уровня
Ничего лишнего: материнская плата, видеокарта и ROM-BIOS Меня давно волнует вопрос, как подступиться к разработке на голом железе, на чистом си. Хотелось понять, каким же образом идёт запуск BIOS, u-boot, grub и прочих первичных загрузчиков. Ведь необходимо перейти от ассемблера к тёплому ламповому си и соблюсти условие, собрать всё это в линукс любимым компилятором gcc. Хотя я и имею достаточный…
Читать далее » -
Хабрахабр
Ретро-компьютер уровня «Радио-86РК» с RISC-V процессором на плате OMDAZZ
RISC-V компьютер Введение Основным инструментом “Школы дизайна цифровых схем” является недорогая отладочная плата OMDAZZ c ПЛИС CycloneIV EP4CE6E22C8N. Эта ПЛИС содержит всего 6000 логических элементов и 270 КБит RAM. Такая ограниченность в ресурсах и сформировала требования к параметрам проекта: 16 КБайт ОЗУ и текстовый графический адаптер. Идея проекта навеяна похожими параметрами радиолюбительского компьютера “Радио-86РК” опубликованного в начале 80-х годов прошлого…
Читать далее »