《结构软件学而思》

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1管窥软件的文件组成

绝大多数准司机在顺利通过驾驶执照的考试后就欢天喜地开着一堆铁和工程塑料的组合体上路了,在他们眼里,方向盘、仪表基本上代表了汽车。这个世界上,还会有一小部分司机在学会开车后,还想了解车盖里的、底盘下的那些铁器是如何工作的,如果您是这样的人,请继续向下看,如果您是前者,请跳过本章。

绝大多数结构工程师在大学里都修过编程的课,甚至在初中高中就已经接触软件编程了。但是绝大多数学校给土木系的学生开的计算机编程的课是以古老的FORTRAN为例来讲授的。众所周知,搞图形界面这活儿并不是FORTRAN的特长甚至可以说是其软肋,而上世纪90年代随着微软的WINDOWS平台大行其道,没有绚丽的图形界面的软件已经不好意思出来见人了。

当年学了FORTRAN编程的工程师看到界面五彩缤纷的结构软件后,总觉得自己白学了——明明在大学里拿到了学分甚至考了高分,可是真要想编出一个哪怕是求工字形截面的惯性矩这种仅需要一个对话框的小程序来,还是感觉无从下手,所以觉得能编写这些软件的“码农”有一种神秘感。

本章就为您在窗户纸上戳个小窟窿,对我们常用的软件做个入门级的剖析。

1.1

1.1DLL

DLL和exe都是什么文件

打开任何一个基于Windows平台的软件的安装目录,映入眼帘的是一堆堆的Dll、exe文件,可能还有少量的ocx或者arx为后缀的文件。这些文件都是所谓的PE(Portable Executable)格式的

文件。

图3-1Dave Cutler

话说PE这种格式,得归功于微软公司在1989年前后聘请的来自DEC公司的外援,特别是其中有位叫做Dave Cutler的。

PE格式是由Unix中的COFF格式修改而来的。1993年,Windows NT3.1问世,PE格式首次作为操作系统的可执行文件格式。PE格式也在不断升级,目前最新版本是2010年9月发布的8.2版本。

设计这种格式的初衷是定义一种在所有Windows平台上和所有CPU上都可执行的通用文件格式。单词“Portable”体现了这个意图。

从Windows这些年的各种版本来看,应该说PE格式达到了当初的设计初衷。

Linux和大多数Unix版本中的格式是“可执行与可链接格式ELF(Executable And Linkable)”(同样也是COFF(Common file format)格式的变种),而苹果操作系统的格式是Mach-O。

有兴趣对PE格式进行深入研究的读者,不妨去读读文献i。不过笔者不推荐结构工程师在这方面花很多时间。

DLL文件里都有些啥信息呢?对于软件的使用者(非程序员)而言,我们都能从这些文件里挖掘出什么信息呢?如何挖掘呢?请看下节。

/wiki/Import_Address_Table

/wiki/Portable_Executable

1.2软件整容软件

软件也能被整容?当然,不需要懂编程也可以给软件整容的,就像不懂电路原理的人可以把电视机外表装饰得漂亮一点一样。

软件的对话框、示意图等信息一般存储在一些dll或者exe文件中,有很多软件可以把这些dll 或exe文件中的那些对话框、示意图等暴露出来,比如由Angus Johnson开发的“Resource Hacker”这个免费软件(/resourcehacker)、或者Colin Wilson开发的软件“XN Resource Editor”(/d10resourceeditor.htm,开放源代码的)或者Anders Melander 开发的免费软件“Resource Editor”(http://melander.dk/reseditor)我们可以利用这些软件来给我们所用的软件来整整容。

也许您想到了,所谓的软件汉化,是不是也算是一种整容呢?没错,就是利用上述这些软件来把一些软件界面上的洋文改成中文。汉化软件常用的工具软件还有eXeScope以及ResScope等。

STAAD里的大部分对话框都可以在D:\SProV8i\STAAD\Language\Chinese\USEnglish_chs.dll

这个文件里找到。

如果您觉得某些字句翻译的不够准确,您完全可以在下图相应位置修改那些字句(比如将“终端颜色”改为“末端颜色”),然后点击“Compile Script”按钮,保存后退出“Resource Hacker”,重

新打开STAAD的某个模型文件,并点击图标,在弹出的对话框里选择“标注”,看看是不是已经改为“末端颜色”了。挪动控件的位置也是类似的方法,在Resource Hacker选中想要挪动的控件,用键盘上的箭头键挪动即可,做了改动之后别忘点击“Compile Script”按钮:

其英文版本的在D:\SProV8i\STAAD\Language\USEnglish\USEnglish.dll这个文件里:

您甚至可以在“Bitmap”那里找到STAAD-III(上世纪90年代的版本)这个版本的初始界面:

1.3软件DNA鉴定利器——Dependency Walker、ViewAPI

/view/de8af36b011ca300a6c390b9.html Dependency Walker使用说明

i戚利,Windows PE权威指南,机械工业出版社,2011/10

相关文档
最新文档