WEB开发网
开发学院软件开发Python 以Python为例讨论高级编程语言程序的wire format与... 阅读

以Python为例讨论高级编程语言程序的wire format与校验

 2010-09-22 11:26:23 来源:WEB开发网   
核心提示:写在前面:本文完全没有宣传“Python是一种不安全的平台”的意图;与Python相比,别的平台也未必真的安全多少,以Python为例讨论高级编程语言程序的wire format与校验,毕竟诸多手段都只能防君子而防不了小人, 本文的主要目的是讨论“wire format”

写在前面:本文完全没有宣传“Python是一种不安全的平台”的意图;与Python相比,别的平台也未必真的安全多少,毕竟诸多手段都只能防君子而防不了小人。

本文的主要目的是讨论“wire format”与高级语言的虚拟机所需要做的校验的问题,顺便以Python为实例来讨论,仅此而已。为避免误会特别写在前面,希望这段话没有被无视……

本文内关于Python的讨论都指CPython,例子是在Python-2.6.2-msvc9-win32上运行的。

背景基础

背景:

在Lang.NET 2009中,Lars Bak接受了Channel 9的访问,介绍了V8虚拟机的特性。在访问的后半段,Channel 9主持人之一的Charles提出“V8以后会不会采用IL”的问题,然后Lars、Charles与Erik Meijer三人围绕“wire format”展开了一些讨论。有跟随我的“闲聊”的同学应该留意到之前我对此的评论。Anyway,还是写一帖稍微详细点讲解一下。

Wire Format

这个词组到底是什么意思?要是用Wikipedia来查,会被重定向到Communications protocol的词条上,作罢。其实不必wiki,这词本身就很形象:“wire format”直译为“在线上传输/交换(的数据)的格式”,也就是数据传输格式。

那么以“程序”为上下文,“wire format”指的是什么呢?例如,我们从网上下载一个别人用C或C++写的程序,下载的可能是二进制可执行文件,此时这个二进制可执行文件的格式就是一种“wire format”;或者当我们浏览一个使用了Ajax技术的网页时,网页中内嵌的JavaScript以源码的形式被下载并运行,此时源码(文本)也是一种“wire format”。

1 2 3 4 5 6  下一页

Tags:Python 讨论 高级

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接