只有lua才能编译出小于200K的代码吗?NO! Python 也可以。
2014-11-14 20:46
351 查看
现在Python给人的感觉是大,东西多,在Windows上安装后居然要占100多兆的空间。lua给人的感觉是很小,很轻便。Python 2.7在linux下编译出来的代码在strip之后也有3M多,早期版本应该会更小些,但也应该有700K到800K吧。那么Python是不是不能编译出轻便,体积小的代码呢?答案是否定的,这里介绍几个Python的变种,来看下Python可以有多小。
1、Pymite
这是一个可以运行在8位单片机上的Python,没想到吧!单片机上的rom往往小于100KB,RAM小于8KB,如果对比一下PC机,真的可以说是巨人和蚂蚁的区别啊,python居然可以在上面运行,是不是很颠覆你的思想?如今Pymite可以运行在Arduino
Mega上,Arduino是一个出了名的开源硬件平台,主要使用avr的8位单片机,Pymite在上面运行只需要64KB的rom,4KB的ram,更详细的情况见下面的链接:
http://playground.arduino.cc/CommonTopics/PyMite
源代码的路径如下:
https://code.google.com/p/python-on-a-chip/
2、tinypy
这是一个号称可以编译出小于64K的Python的项目,当然实际的编译出来的大小为200K左右,文档里有写,在使用优化的方法时是可以编译出<64K的程序的,但是我没有试过。但是200K已经是很小了。更让人不可思议的是,它居然把pygame也集成进去了。官网见:
http://www.tinypy.org/
貌似很久没更新了。
不过,既然编译出来的代码小,功能当然就没那么强大了,这是一个鱼和熊掌的问题了。
其实啊,比较哪种语言好,那种语言差完全没有必要,每种语言都有自己的优势和劣势,关键是语言不能停止进化的脚步。只要是自己喜欢的语言就是好的语言,用不着太在意别人喜欢什么。而且也没有必要因为自己喜欢某种语言而停止去尝试其它语言。
还是那句话,规则是用来打破的,观念是用来颠覆的。在IT行业更是这样。
1、Pymite
这是一个可以运行在8位单片机上的Python,没想到吧!单片机上的rom往往小于100KB,RAM小于8KB,如果对比一下PC机,真的可以说是巨人和蚂蚁的区别啊,python居然可以在上面运行,是不是很颠覆你的思想?如今Pymite可以运行在Arduino
Mega上,Arduino是一个出了名的开源硬件平台,主要使用avr的8位单片机,Pymite在上面运行只需要64KB的rom,4KB的ram,更详细的情况见下面的链接:
http://playground.arduino.cc/CommonTopics/PyMite
源代码的路径如下:
https://code.google.com/p/python-on-a-chip/
2、tinypy
这是一个号称可以编译出小于64K的Python的项目,当然实际的编译出来的大小为200K左右,文档里有写,在使用优化的方法时是可以编译出<64K的程序的,但是我没有试过。但是200K已经是很小了。更让人不可思议的是,它居然把pygame也集成进去了。官网见:
http://www.tinypy.org/
貌似很久没更新了。
不过,既然编译出来的代码小,功能当然就没那么强大了,这是一个鱼和熊掌的问题了。
其实啊,比较哪种语言好,那种语言差完全没有必要,每种语言都有自己的优势和劣势,关键是语言不能停止进化的脚步。只要是自己喜欢的语言就是好的语言,用不着太在意别人喜欢什么。而且也没有必要因为自己喜欢某种语言而停止去尝试其它语言。
还是那句话,规则是用来打破的,观念是用来颠覆的。在IT行业更是这样。
相关文章推荐
- 只有有lua编译能力不足200K代码吧?NO! Python 有可能。
- python可以运行,但编译第三包遇到 python.h no such file or directory
- 傻瓜都会写出能够让机器理解的代码,只有好的程序员才能写出人类可以理解的代码。
- 让c像python一样可以在命令行写代码并且编译
- 10 行代码判定色*情*图片——Python 也可以系列之二 (转载)
- 请问有没有人知道可不可以根据已经编译好的exe(这里具体指窗体),通过什么工具可以看到它里面的某一个控件的事件里面的代码(比如timer的tick)。
- (已加马赛克)10 行代码判定色*情*图片——Python 也可以系列之二
- (已加马赛克)10 行代码判定色*情*图片——Python 也可以系列之二
- 一个简单的动态编译器,支持C#和VB.NET。当你想测试一些简单的代码的时候可以使用。
- Python实战(2)re编译代码性能测试
- 编译fedora 9 kernel 只有编译kernel之后才能编译驱动
- 只有obj或其它文件,但没有cpp,如何才能编译出exe文件zz
- 一段代码,让shopex商城只有登录后,才能查看商城内容
- 美国总统柯立芝曾经写道:“世界上没有一样东西可以取代毅力。才干也不可以枣怀才不遇者比比皆是,一事无成的天才也到处可见;教育也不可以,世界上充斥着学而无用、学非所用的人;只有毅力和决心,才能无往而不胜。
- python re模块编译代码与非编译代码性能检测
- 这段代码出错在那可以编译不能运行
- (已加马赛克)10 行代码判定色*情*图片——Python 也可以系列之二
- 终于可以在Eclipse下编译C++代码了
- 用scanline取BMP上某点的颜色,代码如下,为什么可以编译,运行时却出错呢?
- 最近在研究enigma2的代码,那叫个庞大,C/C++写中间件,上层应用全部用python实现,可以学习一下plugin的实现机制了.