2015-04-26 3 views
1

При чтении Red site, я наткнулся на заявление о том, что составление программы привет мир Red/System создает ..Понимание Red/Система оптимизации компиляции по сравнению с GCC

»... 162 байт ELF двоичный , в то время как аналогичный код C будет производить двоичный код 5-6 КБ с использованием Gcc «

Это потрясающе. Может ли кто-нибудь объяснить/указать мне методы, обеспечивающие такую ​​оптимизацию?

+1

Я не знаю официального ответа, но то, что я знаю, я знаю из [Учебного пособия по вихрям по созданию действительно исполняемых файлов ELF для Linux] (http://www.muppetlabs.com/~ Breadbox/программное обеспечение/крошечный/teensy.html) – HostileFork

ответ

1

Это было достигнуто благодаря наличию почти пустой библиотеки времени выполнения (всего несколько обтекателей системных вызовов) и эмиттера ELF, который не выравнивал бы секции на границах страницы 4K для оптимальной загрузки.

Хотя это верно для Red/System 0.1.0, поэтому в самые ранние дни это не так (теперь это было бы похоже на другие компиляторы). Хотя у нас все еще есть опция компиляции -r для компиляции Red/System code без какой-либо среды выполнения, но поскольку никто ее не использует, она может не работать больше (должно быть легко исправить в любом случае, если кому-то это нужно, просто нажмите Red's chat и попросите ее .;))

Смежные вопросы