本帖最后由 happytc 于 2011-12-31 23:43 编辑
最新版本的Autoit编译器从VC6升到VC2010,有什么好处吗?
看到论坛大牛 happytc 竟然为此特别感叹,想来 ...
222222 发表于 2011-12-28 18:31
呵,我可不是什么“大牛”,只是一混混而已。
要说升级vc6到vc2010的好处很多,但只是C++上的好处,跟au3基本没有什么关系了。
用了多年的VC6的人就知道,它对C++标准支持不够。并且很多新的C/C++特性它是不支持的,毕竟它是1998年就出来了,到现在已经13年了。
比较下面的代码for (int i=0; i < 10; i++)
{}
for (int i=0; i < 10; i++)
{}
VC6编译就会出错,但VC2010就没有问题,原因在于局部变量的名空间,在VC6中第一个for循环中的局部变量i在第二个for循环中仍然有效。而C/C++标准却是这个变量i的作用域只能是for循环当中。
当然这点上au3也处理得不好:出了for循环,其循环变量$i没有被销毁。
并且VC2010支持很多很多地C/C++新特性,如:auto, &&, decltyp, lambda等等
更加让很多VC程序员喜欢的是VC2010的IDE非常强大方便并且漂亮,用了流行的Ribbon,开发效率明显高很多。Au3那帮开发的家伙,对IDE(Scite)基本没有什么作为,是非常非常简陋的。还好的是用au3一般也不能开发大点的工程,而是用于个人开发些短平快的小程序,不然会让人抓瞎的。
若说硬要说升级编辑器对au3有什么影响的话,就是VC2010的SDK已经不支持win98及以下的版本了,但对Win7/8等以上版本支持得更好了,从而导至用VC2010开发出来的au3解释器:Aut2exe也同样有这个特性
=============================================================
现在C的最新标准是是C11,可以参看这里:http://www.open-std.org/jtc1/sc22/wg14/
而C++的最新标准是C++11,可以参看这里:http://www.open-std.org/jtc1/sc22/wg21/docs/papers/
仔细看后,就有点意味的:C那帮人对搞C++的有点不屑一顾,而搞C++的那帮人相对对C比较宽容了 |