В интернете есть множество заметок о том, как собирать freetype под iOS.
Все эти заметки объеденины общей характеристикой — они не работают.
Дело в том, что все инструкции оперируют gcc для сборки библиотеки, но начиная с XCode 5 gcc не входит в поставку и для сборки под iOS надо использовать clang.
Ни одной заметки о том, как компилировать правильно — нет.
Исправляем эту несправедливость.
Метка «компиляция»
Сборка FreeType2 под iOS
2014-03-23 в 8:44, admin, рубрики: freetype, iOS, компиляция, разработка под iOS, метки: freetype, iOS, компиляцияМатематические выражения в .NET (разбор, дифференцирование, упрощение, дроби, компиляция)
2014-02-14 в 19:11, admin, рубрики: .net, open source, Компиляторы, компиляция, производная, упрощение, метки: компиляция, производная, упрощение
Мне со школьных времен был интересен алгоритм вывода аналитических производных и упрощения выражений. Данная задача была актуальна впоследствии и в вузе. Тогда-то я реализовал ее, только получилось все не так, как хотелось: вместо кода IL у меня просто генерировался C# код в текстовом виде, сборки не выгружались, ну и к тому же не было возможности вывода производных в аналитическом виде. Однако потом я решил все-таки реализовать такую библиотеку, так как интерес остался. Стоит отметить, что таких библиотек в интернете большое количество, но нигде я не нашел именно этапа компиляции выражений в IL код, т.е. по сути везде выполняется интерпретация, которая не столь эффективна, в отличие от компиляции. Ну и к тому же я это разрабатывал чисто для себя, для изучения новых технологий, особо не надеясь, что результат моих трудов может где-нибудь потребоваться.
Читать полностью »
Компилируем код из кода для воспроизведения гонки двух процессов
2013-10-22 в 6:45, admin, рубрики: race condition, Блог компании ABBYY, гонки, компиляция, ненормальное программирование, отладка, метки: race condition, гонки, компиляция, отладкаКласс CSharpCodeProvider позволяет программе на C# компилировать код на C#. Обычный вопрос – «зачем». Обычные ответы:
- исполнение кода, данного пользователями, как на ideone.com,
- «ну мало ли зачем» и
- «а это уже отдельный вопрос»
Сегодня мы используем этот класс для удобного воспроизведения гонки двух процессов.
Читать полностью »
Assembler для Brainfuck
2013-06-09 в 12:54, admin, рубрики: Brainfuck, compiler, ruby, translator, ассемблер, брейнфак, компилятор, компиляция, ненормальное программирование, Песочница, руби, трансляция, метки: brainfuck, compiler, ruby, translator, ассемблер, брейнфак, компилятор, компиляция, руби, трансляция Одним холодным майским днем от скуки решил я таки приступить к изучению этого удивительного языка — Brainfuck'a.
Его интерпретаторы публиковали на Хабре уже очень много раз.
Но мне хотолось изучить поглубже сам язык и алгоритмы на нем, а не писать очередной интерпретатор. Поэтому было решено сделать из мухи слона компилятор какого-нибудь высокоуровневого языка в brainfuck.
Однако очень быстро начался реальный brainfuck: отсутствие оператора if, отсутствие произвольного доступа к ячейкам и куча других проблем сразу свалилась на меня. Пришлось повременить с высокоуровневым языком и сделать для начала ассемблер, в который и будет компилироваться высокоуровневый язык.
О реализации ассемблера под катом.
Читать полностью »
Самая маленькая сбойная программа на C
2013-05-26 в 22:09, admin, рубрики: C89, компиляция, компоновщик, ненормальное программирование, метки: C89, MAIN, компиляция, компоновщикШведский студент Джестер Огвист (Jesper Öqvist) получил в универе домашнее задание: написать самую маленькую программу C, которая вылетает с ошибкой (segfault). Обычно студенты в таких ситуациях используют деление на ноль.
int main()
{
return 1/0;
}
Из этого кода ещё можно удалить пару байтов, если вместо инструкции использовать присвоение значения переменной.
int main()
{
i=1/0;
}
Как заставить компилятор C/C++ генерировать плохой код
2012-12-02 в 8:03, admin, рубрики: c++, компиляция, оптимизация, Программирование, Си, метки: c++, компиляция, оптимизация, СиЭто перевод статьи «How to trick C/C++ compilers into generating terrible code?», автор оригинала — Aater Suleman.
На курсе архитектуры ЭВМ мне сказали, что процессор похож на машину. Руль и педали — это ISA, двигатель — микроархитектура, а программа — водитель. Продолжая эту аналогию, скажу, что использование компьютера похоже на управление машиной через пульт дистанционного управления. Пульт — это клёвая вещь, но в то же время важно понимать, как он работает. Даже в профессиональном ПО я видел много примеров кода, который может смутить даже самый умный компилятор. В этой статье я расскажу об основных методах запутывания компиляторов.
Компиляция пакетов
2012-08-25 в 13:11, admin, рубрики: linux, Компиляторы, компиляция, Убунтариум, установка, метки: linux, компиляция, установка Иногда при компиляции программы из исходников и применение команды make
или make install
появляются сообщение типа: ''Нет правила для сборки цели `install'. Останов.''
Предлагаю изящное решение не раз помогавшее мне.
Читать полностью »
Linux для всех / -O2 глоток свежего воздуха
2012-02-12 в 14:11, admin, рубрики: gentoo, suse, Ubuntu, компиляция, метки: gentoo, suse, Ubuntu, компиляция
Технический прогресс достиг по истине не бывалых высот. Еще совсем не давно мы задумывались о мегагерцах, а сегодня многоядерные системы уже нас не удивляют. Этот ошеломительный рост позволил совершить скачок современным компьютерным технологиям: абстракций становится больше; языки все больше интерпретируются нежели компилируются. Все подчинено принципу написано однажды — работает всегда и везде.
Мое увлечение программированием на С++ подсказывает, что если программу настроить (заточить) под конкретное оборудование, то и работать она будет быстрее. А между тем большинство Linux дистрибутивов по прежнему собирается под i386Читать полностью »