1,需要用到的开发工具有:1)Alchemy
2)Cygwin 3)Flex SDK(3.2+) 4)Java(只需要JRE就够了) 5)Flex Builder
2,安装步骤:
1)Alchemy解压缩到c:/alchemy下
2)Flex
SDK解压缩到c:/flex下
3)Cygwin在”选择包“这一步时,确保选中下述三个包:
a)Archive目录下的zip包
b)Devel目录下的gcc-g++包
c)Perl目录选择完全安装(Install)
3,为了让Cygwin在每次启动后知道Flex SDK和Alchemy的路径,我们可以在其启动脚本中把
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--> PATH=/usr/local/bin:/usr/bin:/bin:$PATH
改成
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--> source/cygdrive/c/alchemy/alchemy-setup
PATH=/usr/local/bin:/usr/bin:/bin:/cygdrive/c/flex/bin:$PATH
4,启动Cygwin,若出现下述提示信息:
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--> cygpath:commandnotfound
则修改cygwin.BAT文件如下:
代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->@echooff
C:
setCYGWIN=ttynotitleglob
setPATH=%PATH%;c:/cygwin/bin;c:/cygwin/sbin;c:/cygwin/usr/bin;c:/cygwin/usr/sbin;c:/cygwin/usr/local/bin
setLD_LIBRARY_PATH=c:/cygwin/lib;c:/cygwin/usr/lib;c:/cygwin/usr/local/lib
chdirC:/cygwin/bin
bash--login-i
5,重新启动Cygwin,进入alchemy目录,输入:
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--> ./config
6,输入下述命令开启alchemy:
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->alc-on
Alchemy的开发环境就算配置完成了。
7,在stringecho目录下,运行:
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->gccstringecho.c–O3–Wall–swc–ostringecho.swc
一切顺利的话,将会生成stringecho.swc
8,下面来开发一个实例程序进行对stringecho.swc测试
1)新建一个新工程,
ActionScript3工程或者
Flex工程都可以.
2)右键项目,选择”属性“-->ActionScript
BuildPath-->Library path,选择”Add SWC"将刚才编译出来的
stringecho.swc加入项目中,特别
注意的一点是Link Type选择“Merged
into code",否则运行时会报错"无法找到类
Cmodule.stringecho::CLibInit"
3)代码如下:
代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->package{
importflash.display.Sprite;
importcmodule.stringecho.CLibInit;
publicclassEchoTestextendsSprite
{
publicfunctionEchoTest()
{
varloader:CLibInit=newCLibInit;
varlib:Object=loader.init();
trace(lib.echo("foo"));
}
}
}
9,最后,我们来看下c语言写的源代码
1)首先,需要引入下述头文件:
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->//HeaderfileforAS3interopAPIs
#include"AS3.h"
2)然后我们需要定义一个入口点,这里是main函数。main函数代码如下:
代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->//entrypointforcode
intmain()
{
//definethemethodsexposedtoActionScript
//typedasanActionScriptFunctioninstance
AS3_ValechoMethod=AS3_Function(NULL,echo);
//constructanobjectthatholdsreferencestothefunctions
AS3_Valresult=AS3_Object("echo:AS3ValType",echoMethod);
//Release
AS3_Release(echoMethod);
//notifythatweinitialized--THISDOESNOTRETURN!
AS3_LibInit(result);
//shouldnevergethere!
return0;
}
首先定义了要暴露给外部ActionScript代码进行调用的方法,其类型是AS3_Function,然后构造一个对象,此对象拥有前面那个公开函数的引用,此对象构造完成后,则可以释放掉原来那个echoMethod对象,最好通知外部as程序里面的已经构造完毕。
3)下面来看下要暴露给外部的echo方法,它只是简单地接收一个字符串,再将其返回。程序中首先通过AS3_ArrayValue对传入的参数进行
解析,得到传入的字符串,若为空,则返回一个"null"字符串,否则返回原来的字符串。
代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->//MethodexposedtoActionScript
//TakesaStringandechosit
staticAS3_Valecho(void*self,AS3_Valargs)
{
//initializestringtonull
char*val=NULL;
//parsethearguments.Expect1.
//passinvaltoholdthefirstargument,which
//shouldbeastring
AS3_ArrayValue(args,"StrType",&val);
//ifnoargumentisspecified
if(val==NULL)
{
char*nullString="null";
//returnthestring"null"
returnAS3_String(nullString);
}
//otherwise,returnthestringthatwaspassedin
returnAS3_String(val);
}
分享到:
相关推荐
AdobeAIR入门教程,adobe公司内部资料,值得学习。
AdobePremiere入门操作笔记.doc
adobe flex编码指南,开发flex 的可以参考参考
Adobe Encore DVD入门教程
1、创建 Adobe AIR 文件 2、设置 Adobe AIR 发布设置3、 3、预览 Adobe AIR 应用程序 4、调试 Adobe AIR 应用程序 5、创建 AIR 应用程序和安装程序文件 6、创建自定义应用程序描述符文件 7、对应用程序进行签名
NULL 博文链接:https://x-hwang.iteye.com/blog/1435415
Adobe Flex编码指南中文版,MXML 和 ActionScript 3。
Adobe AIR权威指南 那个贯穿全书的air程序的源码和.air文件
PDF扫描版,清晰度还可以,带目录和书签。经典书目,入门必备。
Adobe Reader 插件开发人员入门。
ADOBEAIR完整入门与开发实录——使用FLEXFLASHAJAX开发AIR应用第01章-.pdf
adobe flash professional CS5 入门教程 MP4 版本
adobe acrobat快速入门,简单介绍,pdf文件制作,word转pdf,pdf包
adobe官方包AS3.0adobe官方包adobe官方包adobe官方包adobe官方包adobe官方包adobe官方包AS3.0adobe官方包adobe官方包adobe官方包adobe官方包adobe官方包adobe官方包AS3.0adobe官方包adobe官方包adobe官方包adobe官方...
详尽的Acrobat API说明文档及实例,帮助快速开发基于Acrobat 或 Adobe Reader 的应用,来进行PDF文件的自定义创建、修改、显示。
本書全面講解Adobe AIR(Adobe Integrated Runtime)技術和開發實踐。AIR允許利用現有的Web開發技能(包括Flash、Flex、HTML、JavaScript、Ajax)優勢,建立和配置跨平台(或跨作業系統)的桌面RIA(Rich Internet ...
在 Adobe AIR 应用程序中对 PDF 内容进行跨脚本编写 拖动、复制和粘贴数据 读写 XML 首选参数文件 处理停靠栏和系统任务栏 异步处理本地 SQL 数据库 同步处理本地 SQL 数据库 处理窗口和菜单 控制窗口的显示...
dobe公司的产品Flash和Flex都可以结合FMS进行编程,本文示例比较简单,为了多凑几个字我打算通过Flash和Flex两种实现来介绍怎么来实现我们的第一个FMS程序“连接到FMS服务器”
ADOBE COLDFUSION 8开发者指南。英文版来的。
为Flex 和 AS3 编写应用程序建立编码指南