as加快编译速度
❶ flashcs4中,as2.0和3.0有什么区别
其实上述二位说的都不全面,第二位还是错误的.
应该这样说,AS2.0与AS3.0是在不同虚拟机上执行的不同类库,编程的机制应该是相同的,语法结构也相似,AS3.0是真正的面向对象的编程语言,而AS2.0虽然也支持面向对象的编程,但不是真正意义上的面向对象的编程,最主要的是AS2.0的所有类都不是真正意义上的封装类,在编译时都是以动态类的状态存在.这给类的安全性造成了很大的不确定性.而AS3.0正是在发现了AS2.0的这些不足,才重新设计了类架构及类组织,但考虑到AS2.0的应用历史,还是保留了其应用,毕竟应用的人群不同,一些美工人员还是喜欢AS2.0,所以AS3.0就完全与AS2.0独立,AS2.0由AM1虚拟机来执行,AS3.0由AM2虚拟机来执行.因此它们是不兼容的.可以这样说,AS3.0更简单,功能更强大,更严谨.效率也更高.更适合大型应用程序的开发.而这些也只是一小部分的区别而已,详细的你可以查找相关的Adobe官方介绍.
❷ flash as2.0 与 as3.0的本质区别
首先,欢迎网络HI我,或者加网络群:1051316
问题一:
首先说下as2,as2实际上是as1的升级版,引入一面向对象的概念,但并不是完全面向对象的语言,只是在编译过程中支持OOP语法。as2的面向对象虽然不全面,但是却是首次将OOP带到了FLASH,而AS3是一个完全基本OOP的标准化面向对象语言,最重要的就是as3不是as2的简单升级,而完全是两种思想的语言。可以说,as3全面采用了面向对象的思想,而as2则仍然停留在面向过程阶段,举个例子,就像VB和C#的感觉。
所以as3绝不是as2的升级版,在as3里,可以看到java和c#的影子,确实,这三种语言大部分思想都是一致的,只有一些小的区别,比如as3引入了命名空间的概念,但是不支持比如委托,在包封装及外部访问上也引入了一些新概念。
在编译阶段,as2采用的是AVM1(actionScript vitual machine),而as3采用的是AVM2。新一代虚拟机采用了OOP思想,在执行速度上比起avm1也快了10倍。还提供了异常处理。以前我们在使用AS2时,一旦出错,AVM1选择的是静默失败,让人根本不知道什么地方出错了,会浪费大量的时间去查错,而AVM2与目前主流的编译器一样,会有异常处理,运行出错会输出错误提示,工作效率大大提高。如果做个对比,我想说,AVM1就是大刀长矛,而AVM2就是手枪,大刀和长矛也能杀敌,但是只在面对弱智的敌人才能发挥作用,面对一个大型项目,不用点现代化工具是不行滴。
as2与as3的部分区别,只说一些大的区别,小的不同太多,就不谈了:
1.运行时异常机制处理,这个刚才说过了。
2.事件机制,这也是很多人拿起as3就不知所措的原因,初学者会发现连一个按钮点击的方法都写不出来。实际上as3的事件机制采用的是监听的方式,和as2onClipEvent不同,as3里所有的事件都是需要触发器,监听器,执行器三种结构的,这样做的好处就是使得这个语言非常的坚强,非常大标准化。不像as2,奇形怪状的代码漫天飞,可以这样写,也可以那样写,代码变得繁复难懂,可读性太差,执行效率也大大降低。要特别说明的是,as3的所有事件都直接继承event对象,而event是直接继承自BOSS类object,结构多么完美。所以在as3中,所有的事件都继承自相同的父亲,结构相同,提高了重用性。
3.封装性,这是as3与as2最大的不同,as3引入了封装的概念,使得程序安全性大大提高,各个对象之间的关系也通过封装,访问控制而得以确定,避免了不可靠的访问给程序带来的意外产生。
4.XML,我觉得这是最令人激动人心的改变,现在as3程序员可以很轻松也很自豪的说,我们是使用XML人群中最快乐的人。AS2时代对XML的存取仍然需要解析,而AS3则创新的将XML也视作一个对象,存取XML就像存取普通对象的属性一样方便,用点语法就可以,无疑大大提高了效率。
(写了这么多,如果楼主不给分,我就死给你看!)
5.最关键的一点,容器的概念,AS3采用了容器的思想,告别了as2一个MovieClip打天下的局面。对于as2程序员来说,可能不能理解,我mc用的好好的,干嘛不让我用啊。但是当你真正的了解as3的思想的时候,当你真主的体会到OOP的好处的时候,你会觉得as3的容器的思想的完全正确的。as2时代,我们做什么都用mc,而as2时代的mc也是直接继承自object,这给了mc极大的权限,极其多大方法属性,而有时我们只需要放一个背景图,这样做就造成了极大的浪费。说实在话as2和as3比起来就是浪费之神,所以as2编出的swf绝对比as3编译出来的swf要大上几倍。as3把所有你用到的显示对象都分开,mc的属性方法都被瓜分开来,举个例子,你去水果超市买水果,就肯定比直接去大型超市买要方便,更节约时间,时间就是金钱,那就是很大的节省。
当然还有很多不同,如果想继续交流,可以联系我。
问题二:
以as3为例,在变量命名方便基本和java c#一样,都分为值类型和引用类型,唯一有一点不太相同,不过在使用过程中,不对使用造成影响。java的值类型都不是对象,c#的值类型都是system下的对象,而且都是别称,如int其实就是System.Int32,而as3中完全遵循OOP,一切都是对象,每个值类型都是对象,比如int就有int类。但在使用过程中都是一样的,从这里也可以看出OOP的好处,你不需要关心底层的变化,使用的时候也完全感觉不到底层存在什么区别。
问题三:
关于学习的问题,我的建议是,学新东西,首先要有毅力,不要去看电子书,要买实体书看,要做笔记,能不能学会一种知识,不是从什么地方学的问题,而是学习方法的问题。学习方法不对,不管有多好的老师也教不出好学生。学习的问题我也和很多热爱学习的同志们说过,关键靠自己。
好的学习方法,我总结大致因该具备以下条件:
1.坚持看书,一本书至少看过3遍(注:指实体书,而非电子书)
2.坚持做笔记,加强记忆。
3.如果是初学者,我建议抄程序,培养程序感,必要时可以背默关键字。
祝你成功
❸ AS2和AS3有什么区别
从macromedia大刀阔斧对As1.0进行改革到AS2.0,这一段过程看上去还算长一些,从flashmx到flash mx2004到flash 7.2再到flash8. 它们的核心actionscript都是as2.0.在flash8刚刚发布不长时间,macromedia又紧罗密鼓的推出了flash9预览版,大家都已经知道了Adobe发布的预览版可以对AS3.0进行编译,而As3.0经过测试它的速度可以说要比之前的as2.0快10倍.拿着as3.0与As2.0相对比,虽然有些东西看着面熟,但它看上去就象是重写的一种新语言一样.还有随之推出的adobe的Flex 2.0 builder. Flex sdk.让许多人一时不知所措,面对着as3.0和flex 2这么强的吸引力如何选择.
当然这里可能会有不同的情况出现,就拿我来说,我已经了解了As3.0无论在哪一方面都要超出As2.0,也想花时间去研究去学习As3.0,但还要面对每天不断的As2.0与As1.0夹杂的工作,是深入as2.0还是学习新的as3.0? 就如同明知道flash8可以实现的功能.但确是不能去使用它,因为客户是不同意输出flash8的.这看起来是件挺尴尬和郁闷的事情.相信有许多人会与我有同感.针对此发表一下个人的观点:
个人观点:
1.如果你刚刚开始学as.那么建议你从As3.0变量,循环等等基础学起.不需要再想什么as2.0,as1.0了.
2.对于老的designer.如果已习惯了在时间线上编程,那么我认为能熟练使用as2.0,就已足够,因为不管flash的版本怎么变,它都会向下兼容.虽然as3.0也可以在时间线编程,可能你会发现你以前用的gotoAndPlay().loadMovie()等等都不在有效了,如果在公司内部有as3.0的开发人员,那不好意思,你还是需要了解As3.0的一般编程,以便与as3.0开发人员配合.
3.如果你是一个纯的,狂热的flash开发人员,那么你需要做的就是迅速转型,快速的从as2.0转移到as3.0上.如果你想再深入一步学习flex 2.那你可能还要学到java. asp.net. wbservice等等.呵呵,看上去要挺累啊.
ps:”这山望着那山高”,谁都想学最高级的,最有用的.那什么时候才是个头啊.一个原则,用最少的时间学自已最能用的上的.
参考资料:学习As2.0与AS3.0的尴尬
❹ linux 内核编译出错
你的编译环境有问题。
as 提示不支持某个参数,而且从上面看你应该在编译 arm 架构的内核,但后面的提示是 as 命令,这种名字的命令(没有架构前缀)应该是本地编译器。我想你不太可能在 arm 上本地编译内核吧(实际上确实可以,而且我以前玩 arm 也都倾向于 arm 上本地编译,就是速度慢,需要用 distcc 加速,但兼容好)?
貌似是 -EL 参数 ix86 架构不支持。所以不太可能这步就是应该用本地 as 编译。
如果不是 arm 本地编译,那有可能这步用错了 as 这个汇编器命令。你的台式计算机 as 是 x86 或者 amd64 的,肯定不支持 arm 特有的编译参数和代码。
你看看你的编译文章吧。可能有错,不符合现在内核编译的规范了。或者 GCC 版本太老或者太新不支持这个参数。不排除你的交叉编译环境有问题。
别听那匿名胡扯的,内核源代码根本没有 configure 。
❺ 如何加快Android Studio 编译app 的速度
工程build一次太慢 经过各种搜索 整合以下 仅供参考
1、在下列目录中新建 gradle.properties 文件
/home//.gradle/ (Linux)
/Users//.gradle/ (Mac)
C:Users\.gradle (Windows)
在文件中添加
org.gradle.daemon=true
2、在本地工程的gradle.properties 添加如下
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.daemon=true
同样也可以将global properties 设置如上 所以的工程都会依照这个设置
3、打开file-setting-build-compiler进行如下设置!
设置gradle的version
5、在你的app gradle下 添加如下
dexOptions {
incremental =true
javaMaxHeapSize "4g" //此处可根据电脑本身配置 数值越大 当然越快
preDexLibraries = false
}
6、除此之外 由于国内访问国外服务器较慢 造成as又卡又慢所以尽量使用jar arr 等方式减少直接compile
*.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。
*.aar:包含所有资源,class以及res资源文件全部包含
如果你只是一个简单的类库那么使用生成的*.jar文件即可;
如果你的是一个UI库,包含一些自己写的控件布局文件以及字体等资源文件那么就只能使用*.aar文件。
❻ 请简述嵌入式linux内核的编译过程
编译及安装简要步骤:
编辑Makefile版本信息
定义内核特性,生成配置文件.config,用于编译:make xconfig
编译内核:make
安装内核:make install
安装模块:make moles_install
具体步骤如下:
内核配置
先定义内核需要什么特性,并进行配置。内核构建系统(The kernel build system)远不是简单用来构建整个内核和模块,想了解更多的高级内核构建选项,你可以查看 Documentation/kbuild 目录内的内核文档。
可用的配置命令和方式:
make menuconfig
命令:make menuconfig
编译内核
编译和安装内核
编译步骤:
$ cd /usr/src/linux2.6
$ make
安装步骤 (logged as
$ make install
$ make moles_install
提升编译速度
多花一些时间在内核配置上,并且只编译那些你硬件需要的模块。这样可以把编译时间缩短为原来的1/30,并且节省数百MB的空间。另外,你还可以并行编译多个文件:
$ make -j <number>
make 可以并行执行多个目标(target)(KEMIN:前提是目标规则间没有交叉依赖项,这个怎么做到的?)
$ make -j 4
即便是在单处理器的工作站上也会很快,读写文件的时间被节省下来了。多线程让CPU保持忙碌。
number大于4不见得有效了,因为上下文切换过多反而降低的工作的速度。
make -j <4*number_of_processors>
内核编译tips
查看完整的 (gcc, ld)命令行: $ make V=1
清理所有的生成文件 (to create patches...): $ make mrproper
部分编译:$ make M=drivers/usb/serial
单独模块编译:$ make drivers/usb/serial/visor.ko
最终生成的文件
vmlinux 原始内核镜像,非压缩的
arch/<arch>/boot/zImage zlib压缩的内核镜像(Default image on arm)
arch/<arch>/boot/bzImage bzip2压缩的内核镜像。通常很小,足够放入一张软盘(Default image on i386)
❼ C#中as用法
Is:检查对象是否与给定的类型兼容。例如,下面的代码可以确定MyObject类型的一个实例,或者对象是否从MyObject派生的一个类型:
if(obj is MyObject){}
如果所提供的表达式非空,并且所提供的对象可以强制转换为所提供的类型而不会导致引发异常,则 is 表达式的计算结果将是 true。
如果已知表达式始终是true或始终是false,则is关键字将导致编译时警告,但是通常在运行时才计算类型兼容性。
注意:is运行符不能重载,is运行符只考虑引用转换、装箱转换和取消装箱转换。不考虑其它转换,如果用户定义转换。在Is运算符的左侧不允许使用匿名方法。lambda表达式属于例外。
Object myObject = new Object();
Boolean b1 = (myObject is Object); true.
Boolean b2 = (myObject is Employee); false.
如果对象引用是null,is运算符总是返回false,因为没有可检查其类型的对象。
is运算符通常像下面这样使用:
if (myObject is Employee)
{
Employee myEmployee = (Employee)myObject;
}
在这段代码中,CLR实际会检查两次对象的类型。is运算符首先核实myObject是否兼容于Employee类型。如果是,那么在if语句内部执行转换型,CLR会再次核实myObject是否引用一个Employee。CLR的类型检查增加了安全性,但这样对性能造成一定影响。这是因为CLR首先必须判断变量(myObject)引用的对象的实际类型。然后,CLR必须遍历继承层次结构,用每个基类型去核对指定的类型(Employee)。由于这是一个相当常用的编程模式,所以C#专门提供了as运算符,目的就是简化这种代码写法,同时提升性能。
as:用于检查在兼容的引用类型之间执行某些类型的转换。
Employee myEmployee = myObject as Employee;
if (myEmployee != null)
{ }
在这段代码中,CLR核实myObject是否兼容于Employee类型;如果是,as会返回对同一个对象的一个非null
的引用。如果myObject不兼容于Employee类型,as运算符会返回null。
注意:as运算符造成CLR只校验一次对象的类型。if语句只是检查myEmployee是否为null。这个检查的速度比校验对象的类型快得多。
as运算符的工作方式与强制类型转换一样,只是它永远不会抛出一个异常。相反,如果对象不能转换,结果就是null。所以,正确的做法是检查最终生成的一引用是否为null。如果企图直接使用最终生成的引用,会抛出一个System.NullReferenceException异常。以下代码对此进行了演示:
Object o = new Object(); 新建一个Object对象。
Employee e = o as Employee; 将o转型为一个Employee
e.ToString(); 访问e会抛出一个NullReferenceException异常
备注:
as运算符类似于强制转换操作。但是无法进行转换,则as返回null而非引发异常。
示例:
expression as Type它等效于以下表达式,但是只计算一次expression。
expression is Type ?(Type)expression : (Type)null
注意:as运算符只执行引用转换和装箱转换。as运算符无法执行其它转换,如果用户定义的转换,这类转换应使用强制转换表达式来执行。
❽ asdl 用什么软件可以加速和测速,还有如何测试带宽!谢谢大家
所谓的加速软件一般效果有限..实在有限的很...不如不用..
测速度.可以访问本地视窗网,一般都有测速链接..
另外推荐二个:
http://61.150.4.238/ 中国电信宽带测速系统
http://www.linkwan.com/gb/broadmeter/SpeedAuto/ 世界网络测速
❾ 关于AS语言的问题
AS语言是脚本语言,主要是flash、flex动画用的脚本语言,跟C是不同的,跟javascript比较接近跟C比学习难度有点不好比较,非要比较的话:1、如果是flex开发的话,as语言新版本4.0以上,已经完全面向对象,跟C++\JAVA有点接近,但开发编译还是比较麻烦,调试也麻烦,开发环境需要比较好的基础2、如果只是写flash插件的话,应该跟C语言更没可比性,学flash基本功能开始更实际3、as语法比较头疼,因为跟脚本很接近,写起来很别扭总体来说,AS语言的开发、环境配置、语法本身,都比C要复杂一些,对于没有开发经验的人来说,会有相当的挑战性。
❿ android studio有什么办法能够快速启动
将您的电脑内存加到至少8G,运行64bit的操作系统(处理位宽大,理论上速度就会快),一定使用Intel的CPU(建议是core i5以上,主频是2.2GHz及以上,不要用AMD的cpu),然后在电脑上安装Intel硬件加速器HAXM,如果您不是Mac电脑的话,应该进入bios打开对Intel硬件加速器的支持选项(具体bios进入和设置方法,视您电脑型号而定),当满足以上条件时候,AS的开启速度就会快。另外,首次运行一个导入的项目AS编译会比较慢,但是一旦编译通过,下次再编译就会快很多了。其实计算机的操作系统也会影响AS的启动速度,我有两个笔记本做过测试:
windows cpu:core i7 4700MQ RAM:8G 机械硬盘1TB 启动AS时间大概在10到15秒左右
MacBook Pro :
启动AS在5~8S
希望我的回答能帮到您。