目录
Alchemy是什么?
Alchemy是Adobe公司的一个实验项目,它可以把C/C++代码编译到AVM2虚拟机中,这样就可以在 Flash Player和AIR中运行C/C++程序。
因为Alchemy还没有正式发布,可能存在一些bug,Adobe不建议在目前的生产项目中使用。但以后会加大Alchemy的支持。
为什么使用Alchemy?
通过Alchemy,可以重用现有的开源C/C++库。Alchemy非常适合计算密集的用例,比如音视频的编解码,数值运算,XML解析,加密解密或者物理模拟。运算性能跟AS3相比有很大提升,跟C/C++的 相比,速度要慢2-10倍。Alchemy并不适合普通的Flash开发。
如何使用Alchemy?
以下是Alchemy的入门步骤:
- 下载Flash Player 10 或者Adobe AIR 1.5。
- 下载你的操作系统对应的Alchemy工具包。
- 按照 入门教程 学习。这个教程包括如何配置Alchemy的开发工具,如何把C/C++代码 编译成SWC文件,如何在AS项目中使用这个SWC。
- 在Alchemy论坛提问题,分享心得。
- 可以从这里下载样例库文件,然后在 这里 分享你自己的库文件。
问题
在安装过程中,运行代码:
gcc stringecho.c -O3 -Wall -swc -o stringecho.swc
出现了这样的错误:
[Compiler] Error #1063: Unable to open file: /cygdrive/c/Users/sascha/Applications/Alchemy/flashlibs/global.abc.
[Compiler] Error #1063: Unable to open file: /cygdrive/c/Users/sascha/Applications/Alchemy/flashlibs/playerglobal.abc.
在 Adobe论坛中 ,发现了一个同样的问题,解决办法如下:
将%Alchemy Home%/ahacks/hacks.pl稍作修改。将原来的:
if (`uname` =~ /CYGWIN/)
改写为:if (`/bin/uname` =~ /CYGWIN/)
参考资料
- Alchemy - Adobe Labs
- Updates from the Lab - Adobe AIR and Adobe Flash Player Team Blog
- Alchemy - wiki
- Alchemy Toolkit Preview out on Adobe Labs - flashmagazine
- A Flash of Doom: An Alchemy That Works! - asvguy
- MP3 encoder in Flash with Alchemy - debit
- 关于安装Adobe Alchemy的步骤和注意事项 - 9ria
- 划时代的Adobe Alchemy - iteye
- Adobe Alchemy资料整理 - iteye