Картинка поста

Многие считают, что сделать программу, которой будут пользоваться миллионы, очень трудно. Однако за любым, даже самым сложным, продуктом всегда стоит простая идея. Одним из них является командная оболочка, или «шелл». В...
Читать дальше

Картинка поста

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

Картинка поста

Нашли и оформили подборку различных хитрых приёмов с битовыми операциями. С основами битовых операций также можно ознакомиться в нашей статье. Если вы знаете какие-то трюки, которые не вошли в этот список,...
Читать дальше

Картинка поста

Рассказывает Arjun Sreedharan  В прошлой статье я писал о том, как создать простейшее x86-ядро, использующее GRUB, работающее в защищённом режиме и выводящее на экран строку. В этот раз мы подключим к ядру драйвер...
Читать дальше

Картинка поста

Вам когда-нибудь приходилось гарантировать корректность выполнения своей программы? На самом деле это большой объем работы, который не всегда возможно выполнить. В самих доказательствах могут быть ошибки, об этом говорится и...
Читать дальше

Картинка поста

Посмотрим, как хорошо вы знаете способности GCC оптимизировать код. Эта викторина содержит 6 вопросов, в каждой по две вставки кода. Первая вставка иллюстрирует код до некой оптимизации, вторая — после нее....
Читать дальше

Картинка поста

Си — это один из самых важных и широко распространённых языков программирования. Его можно использовать не только для общих целей, но и для написания низкоуровневых программ, работающих с “железом”. Си...
Читать дальше

Картинка поста

Предлагаем вашему вниманию серию англоязычных статей, опубликованную в блоге Филиппа Опперманна. В ней подробно разбирается процесс разработки собственной 64-битной ОС на ассемблере и Rust. Серия пополняется, но на основе уже написанных статей можно написать достаточно функциональную операционную...
Читать дальше

Рассказывает Афзал Ахмед Зишан Введение Программирование — процесс создания разработчиком софта, который бы запускался на компьютере и решал конечное количество проблем. Люди занимались программированием с тех пор, как были изобретены...
Читать дальше

Картинка поста

В случае, когда производительность критична, можно использовать различные средства оптимизации вычислений. Одним из таких средств являются битовые операции (если алгоритм уже не подразумевает их использование). Например, координаты в двухмерном пространстве...
Читать дальше

Иногда полезно знать, что находится в бинарнике вашей программы, и во что превращается исходный код во время компиляции. На этой диаграмме показана структура исполняемого фала Windows, также известного как Portable...
Читать дальше

Картинка поста

Оператор GOTO не ругал только ленивый. Тем не менее, это инструмент, и польза или вред от него определяется только тем, как его используют....
Читать дальше


Картинка поста

Рассказывает автор блога Nick Desaulniers Интерпретаторы и компиляторы — программы, которые используются для трансляции или запуска других программ. Интерпретируемые программы пишутся на языках вроде JavaScript, Ruby, Python, PHP и Perl....
Читать дальше

Картинка поста

Рассказывает автор блога ridiculousfish.com В этой статье даны ответы на 6 вопросов из викторины по оптимизациям компилятора GCC. В каждом по две вставки кода. Первая вставка иллюстрирует код до некой оптимизации, вторая...
Читать дальше

Картинка поста

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

Картинка поста

От переводчика Объем памяти и скорость процессора стремительно растет. Старые техники оптимизации применяются все меньше, и, в конце концов, забываются. Однако иногда возникают ситуации, когда опыт прошлых лет становится бесценным....
Читать дальше

Что означает Dead beef? Dead beef является формой записи некоторых слов. При отладке компьютерных программ содержание памяти должно отображаться на экране (или, как это было в давние времена, на бумаге)....
Читать дальше

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