用 fcsh 来加快 flex 的编译


说明

flex 的 mxmlc 编译东西完全是龟速.

但是用 flash builder 就很快,逼着你花钱买?太贱了.

用 fcsh 预编译技术可以让 mxmlc 与flash builder 一样的快.

fcsh 的说明 :http://livedocs.adobe.com/flex/3/html/compilers_32.html#190522

其实 falsh builder 肯定也是在后台跑了一个 fcsh.

使用

如果己经安了 flex sdk ,也把 bin 加到 path 里了.

那么执行 fcsh,会进入一个解释窗口.

fcsh

和以前一样输入 mxmlc 来编译:

mxmlc -benchmark=true -locale zh_CN -source-path+=/home/bigzhu/Dropbox/flex-socke /home/bigzhu/Dropbox/flex-socke/Index.mxml

可以看到

(fcsh) mxmlc -benchmark=true -locale zh_CN -source-path+=/home/bigzhu/Dropbox/flex-socke /home/bigzhu/Dropbox/flex-socke/Index.mxml
fcsh: 将 1 指定为编译目标标识
正在加载配置文件“/home/bigzhu/Documents/flex_sdk_4.1.0.16076/frameworks/flex-config.xml”
初始设置: 518 毫秒
start loading swcs 8 ms 总运行时间: 526 ms
已加载 24 个 SWC: 2275 毫秒
precompile:2950 毫秒
文件: 922 时间: 13596 毫秒
正在链接... 124 毫秒
正在优化... 655 毫秒
SWF 编码... 115 毫秒
/home/bigzhu/Dropbox/flex-socke/Index.swf(65817 字节)
postcompile:908 毫秒
总时间:17307 毫秒
峰值内存使用量:147 MB(堆:114、非堆:33)

我日,怎么还是一样的慢? 不要急, flash builder 第一次不也一样的慢么.

可以试着改改代码.再回到 fcsh,这时不要再用 mxmlc 了.

记得上次编译出现了这句么:

fcsh: 将 1 指定为编译目标标识

这时输入

compile 1

快吧,这时只会编译改动过的文件了.

fcsh help

fcsh 命令列表: 
mxmlc arg1 arg2 ...      完全编译和优化;返回一个目标标识
compc arg1 arg2 ...      完全 SWC 编译
compile id               增量编译
clear ![pic](id)               清除目标
info ![pic](id)                显示编译目标信息
quit                     退出

rlwrap

用上 rlwrap 不然 fcsh 不支持翻看上次命令

不好的地方

fcsh 不能关,关了就只能完全编译了,慢死.

我就没法在 gvim 中按 f4 来谝译了,必须得切到 fcsh 中,还得手工输入 compile 1,麻烦.

有这样一个插件 fcsh 可以试试

vim-addon-fcsh 用不起来,vim 挂死,文档也没得,以后再用吧

具体可以看这里:[linux 下用 vim 构建 adobe flex 开发环境](linux 下用 vim 构建 adobe flex 开发环境.md)