flex、bison代码在visual studio 编译
在cygwin下自己写了个汇编器,使用flex和bison分别做词法和和语法分析。在cygwin下可以运行,但是汇编器要作为整个功能的一部分,就不得不把它封装起来,给外部提供接口。下边大概讲一下移植的过程及遇到的问题。
在vc下新建win32控制台应用程序,如果你的bison源代码中包含main函数建一个空工程就行了;
要在Windows下对flex和bison源码(assembler.l和assembler.y)进行重新编译,生成文件assembler_tab.h,assembler_tab.c,lex.yy.c。这里文件名与cygwin下有所区别,cygwin下生成的文件名是assembler.tab.c、assembler.tab.h、lex.yy.c,assembler是我自己起的名字;
把assembler_tab.h,assembler_tab.c,lex.yy.c三个文件添加到工程,编译。出现错误信息,提示“eh.h”文件只适用于c++,考虑vc对后缀为.c的文件默认使用c编译器,代码使用了c++的内容就会报错。找了半天如何强制设置编译器类型的方法都没找到,索性用最简单的方法,把.c后缀改为.cpp。
再编译,出错,提示Cannot open include file: 'unistd.h'文件,查了一下该文件是linux下的,相当于Windows下的stdlib.h,那么Windows下应该没用,所以直接注释掉,编译通过。
然后在命令行下运行,一切ok
相关文档:
原文地址:
http://www.gridlinked.info/how-to-encrypt-flex-rsls/
这里截取并尝试翻译了一段FLEX程序初始化及此解密过程.
应用启动过程:
1. 首先, 为第1帧加载足够的数据.
2. Flash Player通过创建SystemManager实例执行加载数据.
3. SystemManager命令Flash Player停止在第一帧.
4. SystemManager创建Preloader,
......
1.拷贝内容到剪贴板:
System
.
setClipboard
(
strContent)
;
2.克隆一个 ArrayCollection :
var
bar:
ArrayCollection = new
ArrayCollection(
)
;
for
each
(
var
i:
Object
in
ac )
{
bar.
addItem(
i )
;
}
var
bar:
ListCollectionVie ......
Flex中的嵌入资源(Embedding Assets)——Swingguy摘译自Flex 3 Developer's Guide,转载请注明2007-10-27 17:18 Flex软件中经常需要使用一些外部的资源,如图片、声音、SWF或字体,虽然你也可以在软件运行的时候引入和载入,但是也可能经常需要直接将这些资源 ......
1-首先写一个加载外部swf文件的类
package Package
{
import flash.display.DisplayObject;
import flash.display.Loader;
import flash.events.*;
import flash.net.URLRequest;
import mx.core.UIComponent;
import mx.events.FlexEvent;
public class CtmOb ......
绑定:
举个例子: 给下面的public变量加上[Bindable]
[Bindable]
public var name:String = "";
作为一个public变量,肯定既可以被赋值,也能赋值给别的变量。绑定的作用就是,当name改变的时候(被赋值了),可能通知其它被name影响(赋值给它们)的变量发生改变。这里的“可能” ......