返回信息流后天就考试了,看了python源码剖析后还是忍不住写了一个超简单的python虚拟机。
虽然只能解释仅有的几个字节码,但作为小菜鸟一枚还是很有成就感的。
https://github.com/Dreamapple/my_python_vm
已知bug:
不知道为什么命令提示符直接打开会闪退,必须python中
>>>import os
>>>os.system("main.exe helloworld.pyc")
helloworld
>>>
似乎输出会重定向?(我是用vs2013professional编译的)
最后 但愿通原不要挂。
这是一条镜像帖。来源:北邮人论坛 / python / #4821同步于 2015/1/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
一个只能解释 print("hello world")的python虚拟机
asif12
2015/1/12镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
【 在 asif12 的大作中提到: 】
: 后天就考试了,看了python源码剖析后还是忍不住写了一个超简单的python虚拟机。
: 虽然只能解释仅有的几个字节码,但作为小菜鸟一枚还是很有成就感的。
: https://github.com/Dreamapple/my_python_vm
: ...................
用Linux试试吧。
用C++实现的话总觉得没意思,官方已经是用C实现的了,C++没有明显优势。要不要用Go语言做个解释器试试,看看能不能利用Go的垃圾回收(来代替Python的垃圾一般的垃圾回收器)?
用go实现?好像很好玩的样子
【 在 nuanyangyang 的大作中提到: 】
:
: 用Linux试试吧。
: 用C++实现的话总觉得没意思,官方已经是用C实现的了,C++没有明显优势。要不要用Go语言做个解释器试试,看看能不能利用Go的垃圾回收(来代替Python的垃圾一般的垃圾回收器)?
: ...................
【 在 cocoyimasa 的大作中提到: 】
: 就算是个小虚拟机或小解释器,最少也要支持四则运算吧。。。
因为时间比较紧张,只实现了调用内建函数的部分。重要意义是python字节码解释的框架搭起来了,四则运算这些都是字节码的指令,添加很简单,等寒假好好完成
【 在 nuanyangyang 的大作中提到: 】
:
: 用Linux试试吧。
: 用C++实现的话总觉得没意思,官方已经是用C实现的了,C++没有明显优势。要不要用Go语言做个解释器试试,看看能不能利用Go的垃圾回收(来代替Python的垃圾一般的垃圾回收器)?
: ...................
大神又为我们指出了一条未来的方向
不过我感觉python垃圾回收不比go垃圾吧
【 在 asif12 的大作中提到: 】
:
: 大神又为我们指出了一条未来的方向
: 不过我感觉python垃圾回收不比go垃圾吧
: ...................
官方的Python使用“朴素的引用计数”,性能很糟糕。Go目前使用的是mark-sweep,肯定比朴素的引用计数好得多。当然HotSpot JVM的垃圾回收性能更好。