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
相关文档:
一、Flex
Remoting
1.Channel definition,
mx.messaging.channels.RTMPChannel, can not be
found...:最新版的Fluorined在services-config.xml中新增了RTMP Channel,主要是用来配 置Flex
Messaging,编译时需要FDS.swc支持,当然如果不需要此功能可以注释掉channel-definition这个节点。
2.RPC
Fault fault ......
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="InitApp()">
<mx:Script>
<![CDATA[
......
Flex 4 DropDownList:
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate the Spark DropDownList control -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/ ......
学Flex也有一段时间了,参考了许多人的资料。一直想着自己写点东西分享给大家。如是,自己准备写这样的一个RPG游戏DEMO的系列。或许自己的算法,结构上设计有些许问题,但仍希望能给大家带来帮助,不好的地方请PASS掉。。。~~游戏也参考了深蓝色右手的许多设计思想,在此向其表示感谢。他的博客地址:http://w ......
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
function chkbox():void
{
var menssage:String = "";
if (c ......