![]() |
|
||||||||||
|
|
|
|||||
|
Последнее время начал путаться в терминологии компиляторов, возможно от того, что лезу вглубь =)
Давайте я начну, а вы поправите, так ли я всё понимаю, да и пометка новичкам останется - поэтому пишу все компиляторы, что знаю или слышал. fcsh - Adobe Flex Compiler SHell (fcsh), компилятор используемый во флексе. mxml - язык, основанный на xml для флексового фреймворка (ну, и не только) mxmlc - то же самое, что и fcsh, это название исполняемого файла компилятора флекса. UPD: в папке FlexSDK нашел mxmlc.jar и fcsh.jar. Какой из них зачем? Ещё нашел там папку ant, что-то я совсем потерялся. ant - Apache Ant, как пишут создатели это Apache Ant is a Java-based build tool. In theory, it is kind of like make, without make's wrinkles. (Apache Ant это Java-основанная утилита. В теории, это что то вроде создателя (создателя? Компилятор имеется ввиду?) без создательского геммороя). По сути, это универсальная-компиляционная-машина, которая скомпилирует всё что угодно под любой язык, лишь бы были либы для компиляции под этот язык, верно? mtask - тоже не очень ясный момент. Вроде при компиляции mxmlc при синтаксических ошибках в оутпуте пишут это в скобах - то есть есть резон, что это тоже флексовый компилятор. UPD: http://www.mtasc.org/ Соответственно, какая разница между ним и mxmlc? Flash IDE - Flash 8, Flash CS3, Flash CS4, etc. Использует какой-то свой ужасно медленный компилятор (быть может mxmlc без кеширования? Но зачем...) И какие ещё есть флешевые компиляторы?
__________________
Тут мужик танцует и поёт про флэш Последний раз редактировалось Psycho Tiger; 14.04.2010 в 20:44. |
|
|||||
|
Цитата:
теперешний его приемник haXe - но со своим языком и не многими используется) Цитата:
![]() Последний раз редактировалось expl; 14.04.2010 в 22:28. |
|
|||||
|
Цитата:
![]() Ну, haXe это уже транслятор по сути, пусть и сразу в байткод. В смысле того, что haXe`ом чистый AS3 не скомпилируешь.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 1,651
|
make - это команда unix-подобных систем, которая запускает makefile, что есть нечто вроде bat-скрипта, которая собирает из исходников программу (компилирует)(в unix-ах программы поставляются пакетами - уже исполняемыми файлами под конкретную unix-вариацию, или исходниками, которые можно скомпилировать практически под любой unix).
__________________
мой пустой блог |
|
|||||
|
А, понятно. Ну, остальное вроде в отношении ant`а верно.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
ant вообще-то не более чем движок макросов. Компилировать он ничего не умеет.
|
|
|||||
|
Modus ponens
|
Flash IDE использует практически тот же ASC (ActionScript Compiler), что и в Flex SDK. Единственная разница в оболочке (урезаный команд-лайн интерфейс + очевидно какие-то добавки для работы с линкером). Медленный это скорее всего линкер и особенно транскодер флешевой графики, ну и видео транскодер, я тоже так думаю не быстрый
![]() FCSH (или как утверждает автор FCSh) - это шелл (приложение которое запускает и следит за выполнением другого приложения). FCSH может запускать MXMLC, COMPC и ASC. Вобщем, грубо говоря, вся его задача сводится к кешированию результатов предыдущей компиляции. А, есть еще флешевый компилятор который написали SWFTools http://wiki.swftools.org/index.php/As3compile Чесно говоря, ни разу не пользовался, надо будет как-нибудь попробовать. И есть еще куча мелких проектов которые умеют компилировать каки-нибудь части AS3, но до полноценных компиляторов не дотягивают. Есть у hurlant компилятор написаный на AS3, есть SWFMill и им подобные которые чуть-чуть чего-то умеют. Есть на HaXe библиотечка format.abc - тоже, по сути заготовка к компилятору. Во времена AS2 был еще FLASC компилятор, но как-то не довелось им воспользоваться, ну и была куча програм в той или иной степени умеющих генерить SWF, восновном графику. А еще в AS2 была хорошая штука FLASM - диссасемблер SWF ну и собирать обратно тоже мог, но только из своих файлов. С его помощью некоторые ухитрялись немного подоптимизировать циклы и еще какие-то вещи, но, восновном, ценность его была в том, что можно было посмотреть, как и что работает.
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 15.04.2010 в 19:25. |
|
|||||
|
Ага, понятно.. Спасибо большое.
Как то ещё вопрос появился, тоже по компиляторам: а что кеширует mxmlc? У меня есть мувиклип с 120 кадрами, в каждом кадре битмапа+мувиклип. Собираю это в swc и компилю потом mxmlc - в общем, время компиляции просто неимоверно долгое, даже при двойной компиляции (когда по идее должно вообще вылететь nothing changed -> skip почти сразу, а нет, ждем минуты 2 и только после).
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Modus ponens
|
Зависит от версии, и сколько хип / стек памятит есть у JVM, может быть так, что флешка получается очень большая и поэтому не кешируется, а может там флекс сам чего-то дописывает, он тоже любит иногда, особенно при эмбеде других SWF дописать, типа имя классу по-новой сгенерить или еще что-нибудь в том же духе. Я бы в первую очередь попробовал увеличхить heap memory компилятору, но если не сработает - скорее всего просто баг.
http://www.caucho.com/resin-3.0/perf...jvm-tuning.xtp
__________________
Hell is the possibility of sanity |
|
|||||
|
Было минимум 386 мб, без верхнего предела. Поставил вот так:
Гайд выбрал этот, он чуть более понятен ) Единственное что у меня 4 флекс, но я думаю аргументы виртуальной машины не меняли. Не помогло =( Буду качать сейчас последний сдк флексовый. Кстати, флешка там получается мелкой, на выходе мегабайт всего.
__________________
Тут мужик танцует и поёт про флэш |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:58. |
|
|
« Предыдущая тема | Следующая тема » |
|
|