Рубрика «компиляция» - 5

Это перевод статьи «How to trick C/C++ compilers into generating terrible code?», автор оригинала — Aater Suleman.

На курсе архитектуры ЭВМ мне сказали, что процессор похож на машину. Руль и педали — это ISA, двигатель — микроархитектура, а программа — водитель. Продолжая эту аналогию, скажу, что использование компьютера похоже на управление машиной через пульт дистанционного управления. Пульт — это клёвая вещь, но в то же время важно понимать, как он работает. Даже в профессиональном ПО я видел много примеров кода, который может смутить даже самый умный компилятор. В этой статье я расскажу об основных методах запутывания компиляторов.

Читать полностью »

Иногда при компиляции программы из исходников и применение команды make или make install появляются сообщение типа: ''Нет правила для сборки цели `install'. Останов.''
Предлагаю изящное решение не раз помогавшее мне.
Читать полностью »

Внимание(!) Эта инструкция не позволит создать вам сразу полнофункциональную прошивку, но даст вам возможность начать работать над ней.
Примечание: исходники занимают примерно 6 Гб. Вам нужно около 25 ГБ свободного места чтобы скомпилировать 1 билд и до 80 Гб (или больше) для полного комплекта сборки.

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

Linux для всех / -O2 глоток свежего воздуха
Технический прогресс достиг по истине не бывалых высот. Еще совсем не давно мы задумывались о мегагерцах, а сегодня многоядерные системы уже нас не удивляют. Этот ошеломительный рост позволил совершить скачок современным компьютерным технологиям: абстракций становится больше; языки все больше интерпретируются нежели компилируются. Все подчинено принципу написано однажды — работает всегда и везде.
Мое увлечение программированием на С++ подсказывает, что если программу настроить (заточить) под конкретное оборудование, то и работать она будет быстрее. А между тем большинство Linux дистрибутивов по прежнему собирается под i386Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js