荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: zzt (我命由我不由天), 信区: Program
标  题: 将PRG文件编译成独立的EXE扩散文件
发信站: BBS 荔园晨风站 (Sun May 23 16:50:05 1999), 转信


发信人: mayanyi (▓▓※中坚分子※▓), 信区: Program
标  题: 将PRG文件编译成独立的EXE扩散文件
发信站: 网易虚拟社区 (Wed May 19 01:43:12 1999), 站内信件





                         将PRG文件编译成独立的EXE扩散文件


  看到这个题目,相信许多钟情于FOXPRO的读者,会以一种急切的心情想要了解

文的内容了,就象当初我的心情一样。由于本作者一直是搞C语言编程的,自然

可执行的EXE文件特别感兴趣,而不屑于依托FOXPRO环境的PRG文件,这是很自然

事,因为辛辛苦苦编写的PRG程序走到哪里都要象蜗牛背着个重壳似的带着十几兆

的FOXPRO,总是令人心有不甘的,而且也十分不便。但是,FOXPRO本身所具备的

大的数据库处理能力,又吸引着众多的编程人员。那么,能不能有这样一种东西

使PRG程序既具有数据处理能力,又不依赖FOXPRO环境,运行速度更加快捷,占用

内存很少,可以独立扩散的EXE文件呢?就象当初的BASIC,最后的BAS文件不也脱

离了解释性的BASIC环境而独立出来了吗!在这里我可以告诉大家,答案是振奋人

心的。
  首先声明一下,本文中讨论的FOXPRO是2.5版FOR DOS的。而若想将编辑好的

一个或数个PRG源程序编译成EXE文件可独立在DOS下运行,还必须具备FOXPRO扩散

工具袋(Distribution Kit),它并不跟随在通常的商业版FOXPRO 2.5中,而是

外有4张高密软盘,单独出售。如果读者具有该工具袋,我们建议将之安装在
FOXPRO同一个子目录下,以方便利用。
  现在我们就来一步步介绍如何把已存在的PRG程序转变成可独立执行文件:
 一、建立项目
  所谓项目,对于程序开发人员来说,就是不同类型的文件的集合。建立项目的

的,是为了把应用文件将要用到的相关资源文件,如数据库文件、屏幕文件、报

文件、菜单文件及辅助程序文件(.DBF、.SCX、.FRX、.MNX、.PRG)等集中在一
起,
以便在编译应用程序时把所有必需的代码都编译到一个可执行文件中去,使不同

型的文件作为一个单一的项目协调工作。
  具体方法是:在命令窗口中输入命令creat project <文件名>;或者利用FILE

单中的NEW选项,选中对话窗中的Project,然后按动《OK》按钮,屏幕上将会出

Project对话框,使用<Add>选项将相关的文件选入Project对话框中来,直到所有

需要的文件全部选中为止,按动File中的Save关键字,将之存盘即可。建成的项

文件的扩展后缀名是.PJX,一般情况下有这一个文件就可以了,若是该项目中还

含有备注文件,则项目文件会另增加一个扩展名为.PJT的文件。
  二、建立应用程序
  在上面提到的Project对话框中的最下面,有一个<Build>选项,选中它,屏幕

会出现“Select Build Option”对话窗, 这是一个选择建立什么样的执行文件

设定对话窗,其中包含了三个不同的选择:
  <.>Rebuild Project:重建一个项目。在此我们不用理会它,因为我们已经具

了一个完整的项目。
  <>Build Application:建立一个扩展名为. APP 的应用程序, 它可以在不需要

..PRG源程序的情况下在FoxPro中用DO运行。这也不是我们的目的,跳过去!
  <>Build Executable:真正的目标在此。它可以通过对.PRG的真编译,产生独立

于FOXPRO的可执行.EXE文件,在没有FOXPRO的情况下,运用自如,这正是我们所

求的。(注:若此时尚未安装FOXPRO扩散工具袋,此项选择将无法进入)在这一

项下面,另有三种编译格式:
  a.<>Compact:编译成紧缩的.EXE文件,这是一种需要支持库(Support  Libra
ry
)的.EXE文件,支持库包括三个文件:FOXD2500.ESL、FOXD2500.ESO(标准版本

支持库)、FOXDX250.ESL(扩展版本的支持库),在紧缩的.EXE文件扩散运行时

必须依靠这些库文件的支持,也就是说,三个库文件跟随紧缩.EXE一起扩散。
  b.<>Stand-alone:编译成标准版本的.EXE可执行文件。此方式编译后,许多
FOXPRO的代码也相应地编进了.EXE文件中,所以在扩散时就不再需要上面的三个

文件了。
  c.<>Stand-alone Extended:编译成扩展版本的.EXE可执行文件。
  b项或c项的选择主要根据FOXPRO本身的版本,若FOXPRO是2.5标准版,则选择b

若是2.5扩展版,可选择c项;b、c两项是笔者认为较为理想的编译方式,推荐

者使用,虽然编后的.EXE文件由于增加了FOXPRO代码而使文件较大,但是相比于

..EXE给我们所带来的优点,和我们目前使用的几百上千兆的磁盘空间,那一点点

价实在是微不足道的。
  当我们完成了上面的选择后,按动《ok》按钮,激动人心的时刻终于到了!剩

的工作就是等待,直到屏幕右上角出现“Build Exectable Complete”为止,就

功告成了。回到DOS下,将所有的.PRG文件、.FXP文件删除,脱离FOXPRO环境,您

的可执行文件已经能够正常运行了。
 三、几点技巧
  以上是常规的操作方法,在实际应用的过程中,可略有发挥,下面介绍几点小

巧:
  a.在命令窗口内也可直接键入编译.EXE文件的命令,当然,执行命令之前,也

须建立好项目,命令如下:
BUILD EXE <文件名>from<项目文件名>[standalone] [extended]
  如果用户的FOXPRO版本是2.5标准版,则选择可选项standalone,若是2.5扩展
版,
则选择可选项extended,否则,没有可选项的话,系统自动将文件编译成紧缩模
式。
  b.执行紧缩的.EXE文件,可直接在DOS提示符后键入文件名回车,该文件会自动

寻找最高级版本的支持库来支持文件的运行。也可以在文件名后跟一个开关参数

-X表示文件执行时选择标准版本支持库(Standard Support Library),+X

示文件执行时选择扩展版本支持库(Extended Support Library)。有时我们在

行时并不喜欢一开始的版本提示信息,那么我建议大家使用-T开关,可以省略

FOXPRO的有关信息而直接进入您的应用程序。
  c.在我们建立Project对话窗时,屏幕的最上行会出现有关“Project”菜单,

菜单中有一些功能选项可以帮助我们做许多有益的事情。在此我们只介绍第一项

Options功能。按动Ctrl+O或者在菜单中选择Options项,即可进入Options对话窗

第一栏是开发者信息(Developer Information),可以输入开发者的姓名、公司

地址等等信息。第三栏是编译选项(Build Options),包括两个项目,Debuggin
g
 Information(错误跟踪信息)和Encrypt(加密),错误跟踪信息会对文件中的

错误信息自动跟踪,跟踪的结果代码均编译进.EXE文件中,使可执行文件字节数

多,我们建议用户不要选择此项。另一个加密选项选中后,FOXPRO 会对编译后的

..EXE文件进行加密处理,处理后的文件一般很难用反编译软件将之恢复成.PRG文
件。
  到此,.PRG文件编译成.EXE文件的操作过程就全部结束了,摆脱了FOXPRO和.P
R
G的感觉是令人轻松愉快的。对于开发者来说,我们扩散的文件保密性加强了,不

用担心自己辛苦的劳动成果被人轻易地窃取了,而且可以将.EXE文件写入到单片

的EPROM或工控机的电子磁盘中去执行,为开发数据库管理系统的硬件产品打下了

基础;另一方面,对于最终用户来说,他们也克服了FOXPRO环境支持的致命弱点

不用专门购买一份FOXPRO系统,节省了投资,也节约了磁盘空间。


--
m;31m※ 来源:.网易虚拟社区 http://club.netease.com.[FROM: 202.102.65.183]m
--
m;34m※ 转寄:.网易 BBS bbs.netease.com.[FROM: bbs.huizhou.gd.cn]m
..

--



日出东方,唯我不败;
    天上地下,唯我独尊。

※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.1.143]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店