flex预编译
1. 安卓手机怎么设置 手机系统设置 手机性能才能提到最高
可以通过开启发者选项,并对开发者选项相关项进行优化设置,提高手机的流畅性。
(以小米手机为例)MIUI有很多的这样的功能,具体是菜单跳转的渐进渐出,窗口关闭与打开时的过渡效果等,虽然过渡的不是很慢,这个功能是在开发者选项里面设置,默认MIUI是隐藏了开发者选项的,如何开启开发者选项以及如何设置过渡动画可以按以下教程:
1、在手机主屏找到设置->关于手机。
5、如果将上面的效果设置为2,再返回去操作就会发现,比如打开设置,再点开其它菜单就会显得慢,会有渐入的感觉,让人觉得不能忍受,改到0.5或者关闭就快多了,直接弹出下一级菜单。
要想在Linux下进行C语言编程,首先得搭建好一个编程环境。这里分别说明一下几个非常有用的软件包。
如果你对Linux下软件安装方法还不清楚,请参考文章“Linux下软件安装方法总结”http://zhoulifa.bokee.com/5444771.html
1、gcc
要进行C语言编程,首先得有个C语言的编译器,Linux下常用的是GNU C Compiler gcc。
gcc软件是用来提供默认值的。从Depends可以看出要gcc真正工作必须有对应的cpp和gcc版本。
比如cpp-4.1和gcc-4.1、cpp-3.3和gcc-3.4
2、gcc-*
3、cpp
gcc要进行程序编译,首先需要进行一个预编译过程。该过程对程序源代码进行预处理。
4、cpp-*
5、libgcc1
gcc还依赖于libgcc1这个软件包。libgcc1是用于gcc软件自身的必须组件。
6、libc6
C语言程序要能够运行,需要一些运行时库文件和一些库文件操作命令。libc6这个软件包就是用来提供这些的。这个软件包几乎是Linux系统自带的,因为所有C程序的运行都离不开此软件包。
7、binutils
程序从源代码到可执行程序的过程中,必然需要一些工具来辅助完成。binutils软件包就是提供一些工具的
这个软件包提供下面这些非常有用的命令:
/usr/bin/size # 显示每个目标文件或归档文件的章节大小和总的大小
/usr/bin/objmp # 显示目标文件的信息
/usr/bin/ar # 归档文件管理工具,可以创建、修改或打开一个归档文件
/usr/bin/strings # 显示一个文件中的可打印字符串,比如文本文件的全部或目标文件里的字符串
/usr/bin/ranlib # 产生归档文件的索引
/usr/bin/obj # 复制或转换目标文件
/usr/bin/addr2line # 把一个地址信息转换为文件名和行号
/usr/bin/readelf # 显示 ELF 文件信息, ELF 文件格式即 Linux 目前流行的可执行文件格式
/usr/bin/nm # 显示目标文件里的符号
/usr/bin/strip # 去除目标文件里的符号
/usr/bin/c++filt # 识别 C++ 和 Java 符号
/usr/bin/as # GNU 汇编工具
/usr/bin/gprof #
/usr/bin/ld # GNU 链接工具
8、locales
这个软件包提供本地语言环境支持
虽然上面列了这么多必需的软件包,但实际上因为他们之间有依赖关系,所以在安装完系统后我们只需要输入下面一个命令:
apt-get install gcc
系统就会自动帮忙把这些软件包安装上。
9、libc6-dev
我们要进行软件开发,必然需要一些库文件和头文件,在Linux常用的就是GNU的C语言库libc,要安装开发工具必须安装这个libc6-dev软件包
11、glibc-doc-reference
理由同上,编程人员最喜欢的参考手册就是这个软件包了,可以称为Linux下C语言编程参考。
此参考手册有html和info两种格式,你可以用浏览器打开/usr/share/doc/glibc-doc-reference/html目录下的手册一页页看。把这里每个网页一点点看完了学会了基本上没有搞不定的问题了。
12、manpages-dev
在编程的过程中有时会记不得某个函数的用法,通常这时查man手册是比较快的,所以把这个manpages-dev软件包安装上。想要看某个函数的用法就man它。
这个软件包提供系统调用和库函数的在线手册。
13、make
在进行大项目时,通常我们的程序可能是由很多源文件组成的,各个源文件生成自己的目标文件,多个目标文件才链接形成一个新的目标文件或可执行程序。
在某个源文件发生变化时,我们只需要按照这种依赖关系运行各命令重新生成程序即可,而不需要对所有源文件重新编译。哪个该重新编译呢?可以让make程序帮忙 维护
14、make-doc
要运行make工具,先得学会怎么用它吧?看这个软件包提供的文档就行了。
安装好这个软件包后,用浏览器打开/usr/share/doc/make-doc/make.html文档开始学习make的用法吧。
15、gdb
编写程序必然需要调试,在Linux常用的程序调试工具是gdb
16、gdb-doc
有了上面的gdb程序调试工具了,怎么学会使用它呢?安装这个软件包gdb-doc,即gdb的文档
安装好软件后就可以通过电脑上的文档自学gdb的使用了。
17、编辑器
要编写C程序,总得有个编辑工具吧?Linux下这类工具相当多,关键在于熟练掌握一种。
比如文本界面的编辑器vi, vim, emacs等
比如图形界面的编辑器gedit, kate, kwrite等
又比如IDE环境的:anjuta, eclipse, kdevelop等
选择一个自己习惯的熟练使用起来就行了。
这些只是基本的Linux下C编程环境必须的软件包。如果这些熟练掌握了,可以试试下面这些软件包:
autoconf, automake1.9, libtool, flex, bison
当然还有对应的文档用于自学。
甚至可以试试IDE环境下其它语言编程,比如gtk, qt等
3. flex是用什么编译器啊请大神具体解释下,急需啊!!1
flex是词法分析器生成器,你可以到sf.net或者www.gnu.org上去找,或者安装cygwin环境,里面有flex包。《Flex&Bison》网上只有英版的,看中文版的《Lex&Yacc》也行,之间没有什么太大的差别。
4. 如何用Modelsim进行后仿真
step1:在qurtus改变编译选项:
assignments->EDA tool setting:选择verilog还是vhdl。
step2:编译。你会在你的工程所在目录 看到一个simulation的目录,这里面有你生成的网表文件和标准延时文件。
step3:在目录:\quartus\eda\sim_lib找到你选用器件对应的库文件,将库文件和网表文件以及延时文件和testbench文件放在同一目录,在modelsim里进行编译库文件、网表文件以及bench文件。
step4:编译成功后,然后进行load,在load design的时候,需要制定延时文件的路径,以及延时文件作用的区域,延时文件的左右区域就是testbench里面调用顶层文件取的名字。
step5:打开signal窗口(view->signal)和wave窗口(view->signal),将你希望仿真的信号添加进去。
Step:仿真。。。
利用ModelSim SE6.0C实现时序仿真!!!
1) 打开一个工程文件。
2) 打开Settings设置栏,选择EDA Tools Settings下的Simulation栏。在右边出现的设置栏中将“Tool name”的下拉菜单选择“ModelSim(Verilog)”(如果工程用VHDL语言实现,则可以选择“ModelSim(VHDL)”;如果ModelSim使用的是for Altera的专用版本,则可以选择“ModelSim-Altera(Verilog)”或“ModelSim-Altera(VHDL)”)。
另外在设置栏中还有其他的核选框。
如果选中“Maintain hierarchy”,则表示在做时序仿真时就能看到像在功能仿真的工程文件层次结构,可以找到定义的内部信号。因为在做后仿时,源文件中的信号名称已经没有了,被映射为软件综合后自己生成的信号名,观察起来很不方便。这个设置与ISE里综合右键属性的Keep Hierarchy选择YES的功能是一样的。
如果选中“Generate netlist for functional simulation only”,则表示只能做功能仿真。
3) 点击 “Start Compilation”按钮编译工程,完成之后在当前的工程目录下可以看到一个名为“Simulation”的新文件夹,下面的“ModelSim”文件夹下包括仿真需要的.vo网表文件和包含延迟信息的.sdo文件。
4) 打开ModelSim软件(或者在Quartus下“Settings->EDA Tools Setting->Simulation”出现的设置栏中选中“Run this tool automatically after compilation”,直接从Quartus下调用ModelSim软件),可以在当前工程目录下新建一个Project。在Project标签栏内点击右键,出现在快捷菜单中选择“Add to Project->Existing File…”。加入当前工程目录的“\Simulation\ModelSim\”路径下的.vo文件、TestBench文件和对应当前工程所选择器件的网表文件。
比如:当前工程选择的器件是Cyclone系列,Quartus安装目录在“C:\altera”路径下。因此需要在“C:\altera\quartus50\eda\sim_lib”路径下找到“cyclone_atom.v”的网表文件导入到ModelSim下的Project。如果是其他器件亦是如此,只要在此目录下找到对应有“_atom”后缀的.v文件。当然整个大前提是ModelSim SE版本已经加入了Alterta的仿真库,不过ModelSim-Altera版本就不会存在这样的问题。
5) 在出现的Project标签栏的快捷菜单中选择“Add to Project->Simulation Configuration”,会出现如上图所示的名为“Simulation1”的仿真配置。右键点击选择“Properties”,弹出的“Simulation Properties”对话框中有几个标签栏。
在“Design”标签栏内需要选择仿真的文件,也就是TestBench文件。
在“SDF”标签栏内需要选择包含延迟信息的文件,即Quartus下生成的.sdo文件。这里建议将.sdo文件与ModelSim的工程文件(.mpf文件)放在同一个目录下,不然ModelSim会报类似无法读取.sdo文件的错误。当加入.sdo文件时,需要在如下图所示的“Apply to Region”的编辑框内填写延迟信息文件作用的区域。
举个例子来说明:
TestBench文件中定义了测试文件的Mole名称为ConvEncdTestBnch。
TestBench文件中调用待测顶层文件的实例名为top_encode_1。(top_encode top_encode_1(clk, rst, dataIn, serialData, parData);这是TestBench文件中调用顶层的语句)
所以在作用区域内需要填写“/ConvEncdTestBnch/top_encode_1”。
6) 右键点击名为“Simulation1”的仿真配置,快捷菜单中选择“Execute”命令,执行仿真。
7) 指定延时文件sdo 路径时,特别注意“域”的指定,否则用户会在timing 仿真中报load error “can’t find instance file”. 指定的域可以从sim标签页查看sim 的top 层,或要仿真的对象。另外,时序仿真时,一定要记住要把顶层top.v 用 top.vo 替换。同时要确保预编译的库中每个库的名字必需遵循altera的要求,比如:cylcone 的device 库必需命名为cycclone, maxii 的device命名为maxii, flex10Ke 和acex1K 都命名为flex10Ke,详细查看文档附件。Simulation.pdf
8) 提供一个testbench 的模板。
利用ModelSim SE6.0C实现功能仿真
功能仿真流程比较简单,一般不会出现什么问题,这里不再多述。
5. 有用过ant自动编译flex项目的吗
偶然编译一个开源as3(采用flex sdk——采用flex4.6)项目,由ant配置进行自动编译,想增加特性,需要在原有编译预定义全局常量(由-define=XXX:NNNN,VVVV 形式定义)基础上需要增加参数,如原来只有XXX:NNNN1,VVVV1 现在想还有XXX:NNNN2,VVVV2 。
原来的项目采用的是ant exec 直接调用mxmlc命令行进行编译(可以不依赖于flex的flexTasks限制),其调用mxmlc传入参数(传入的参数是字符串值)采用如下方式
点击(此处)折叠或打开
<exec executable="${mxmlc.exe}" dir="${basedir}" failonerror="true">
<arg line="'${src.dir}/${package}/${class}.as'" />
...
<arg line="-define=XXXX::nnnn1,'vvv1'" />
</exec>
当然现在编译是成功的,我依葫芦画瓢改写成
点击(此处)折叠或打开
<exec executable="${mxmlc.exe}" dir="${basedir}" failonerror="true">
<arg line="'${src.dir}/${package}/${class}.as'" />
...
<arg line="-define=XXXX::nnnn1,'vvv1'" />
6. Flex代码改进和编译优化问题
计划对Flex的代码和编译后的文件进行改进,大致有下面几个部分:
1.不同Flex Web模块间自定义组件共享修改在数据配置模块自定义了众多组件,这些组件在其它Flex Web模块也用到了如在服务保障、开通管控模块中。现已改进了/srcFX/bss/components/下的组件,可在各个Flex Web模块间共用
2.统一异常处理界面Flex在访问后台数据有异常时用统一的界面来显示,不再用throw Error方法来向外抛。因为这个throw的异常在不是debug版本的flash player是看不到的,导致有的出现异常也不没有提醒用户。正在修改相关代码,目前的是以弹出窗口的形式提供,窗口只显示了后台抛出的异常信息。
3.Flex编译后文件的优化Flex编译后的文件较大,计划修改Flex的编译配置文件,减少编译后文件的大小,以减少Ear包的大小。计划中
4.新的Flex前台开发框架Cairngorm的尝试使用尝试使用Cairngorm来开发一到两个模块,和现在用的Flex前台ARP框架作个比较是否有利于代码的进一步改进。
5.使用统一样式表现在各个Flex模块已经修改为使用统一的样式表spcss6.css,改进的计划是对样式表的改进。