rosial

lost memory
数据加载中……

《爪哇夜未眠》- REBOL篇 - REBOL/SDK

   

      对于专业的REBOL程序员,REBOL Technologies公司推出了REBOL/SDK,可以解决原本REBOL的一些小麻烦:

l           REBOL因为是解释型语言,所以源码就是执行文件,任何人取得REBOL的执行文件就等于取得REBOL的源码,完全不设防。如果你担心你的程序被人窥视,你需要利用REBOL/SDK来将程序加密处理。

l           当你把REBOL程序交给别人时,别人可能因为没有REBOL解释器而无法执行。你可以利用REBOL/SDK来将REBOL解释器和REBOL程序代码结合成一个执行文件,以方便执行。

l           你的REBOL程序可能是由许多文件所组成,比较不方便传送给别人。你可以利用REBOL/SDK来将这些文件全都整合成一个文件。

REBOL/SDK是商业软件,需要向REBOL Technologies公司购买,请参考网页:http://www.rebol.com/purchase.html

REBOL/SDK的内部组成,如图1所示。

Kernel

            REBOL/SDKKernel内包括了三个精简版的解释器,分别是:/Base/Pro/Face(另有两个非精简的解释器:/Command/CommandView)。其中/Base是最简单的版本,比REBOL/Core更小。而/Pro/Base多了一些功能,/Face也比/Base多了一些功能,如图2所示。

1  REBOL/SDK的内部组成

2  三个精简版Kernel的关系

            REBOL/Core中有太多东西,许多程序都用不到(例如辅助说明文件,各种通信协议),如果将这些用不到的功能通通包进执行文件,会导致执行文件体积太大。所以REBOL/SDK设计出此三个精简版的解释器,并将许多原本REBOL/CoreREBOL/View内建的功能和通讯协议以源码的方式公开(图1中的Source Code Module),需要这些功能或通信协议的话,将其含入(include)即可。

Encapsulation

           REBOL/SDK提供许多工具,可以将REBOL脚本和REBOL Kernel包在一起,成为一个执行文件。这些工具统称为EnCap,是Encapsulation(封装)的意思。EnCap系列的工具命名方式一律以En开头,包括了:EnBaseEnProEnFaceEnCmdEnCmdView,分别用来包装/Base/Pro/Face/Command/CommandView。包装的方式如图3所示。

     从图2中,我们可以发现,EnCap程序,会将主要脚本(Main Script)、相关的文件(影像、声音或其它数据),连同REBOL/SDK的一个Kernal以及被含入的源码(included source),包在一起,成为一个执行文件。

3  EnCap将程序执行时所需要的一切通通包进一个执行文件中

     比较特别的是,EnCap会对这些包装内容进行压缩和加密【注】,所以也会把key和解密算法包进执行文件中。执行此程序时,会先将这些脚本和数据解密、解压缩、然后才执行。

 

【注】还是要提醒你,这种加密其实效果不大。只能防一般人,不能防专家。千万别认为经由EnCap处理过的程序可以绝对防止他人取得源码。

 

发表日期: Mar. 21, 2004

posted on 2006-07-10 13:29 rosial 阅读(343) 评论(0)  编辑  收藏 所属分类: 蔡学镛


只有注册用户登录后才能发表评论。


网站导航: