游戏磁带的dll文件的作用有什么作用?

运行游戏提示缺少xinput1_3.dll_百度知道你的位置: &
& 游戏dll文件大全
游戏dll文件大全
玩过很多单机游戏的小伙伴都知道,如果游戏下载完缺失了dll文件,游戏运行的时候会提示什么dll丢失,这就是你的里面缺少这个dll文件导致程序调用失败。放在目录C:\Windows\System32,64位为C:\Windows\SysWOW64
游戏dll文件大全
温馨提醒:鼠标移动到图标上可预览截图
最新软件应用合集
(您的评论需要经过审核才能显示,请文明发言!)&&剩余字数:
点击图片更换
本站资源均收集整理于互联网,其著作权归原作者所有,如果有侵犯您权利的资源,请来信告知,我们将及时撤销相应资源。
Copy . All Rights Reserved.一个Windows应用程序,例如大型游戏,除了exe文件外,其余的文件都是些什么文件?有什么内容?
一个应用程序***后往往有几十个上百个文件,这些文件大多数都是什么用途?里面一般是什么内容?以游戏为例,除了游戏中用到的贴图等资源外,剩下的部分都有什么用途?
exe只是一个入口文件,当然,其他的dll文件或者一些你不知道的格式文件,他们包含的东西很多,比如大部分的dll文件,他和exe文件的区别在于,dll文件只提供处理的方法,exe是去执行这些dll的。打个比方,你要执行一个数据加密,但你不会写加密算法,恰好你在网上找到一个提供加密算法的dll,你就写一个exe,然后来调用那个dll,执行你的加密过程,你完全可以不需要了解加密是如何执行的,你只需要调用别人提供的dll就可以实现了。你说的exe 其实和dll没什么区别,只是,普通人认为exe可以执行,而dll文件和其他文件不能执行而已。其实exe和dll 都是可执行文件,只是exe是提供给用户执行的,dll文件是给程序执行的。还有一些你看到的什么dat,ini,xml等文件,这些就属于数据文件,文件的后缀并不代表文件的类型,我程序调用一张图片,我可以取名叫“picture.dll” 但它也能被当作图片处理,文件的后缀,只是方便操作系统去识别的,但在程序里,软件只会识别文件的流是不是能被转化成图片或者其他文件类型,不同程序,或者说不同游戏下,dat文件不代表就是同一种文件,只是看你程序如何处理而已,格式都是程序员自己定的。总结来说,exe是给用户一个入口文件,exe可以是有窗体的,也可以是没有窗体的程序,exe负责去调用各种不同的dll和资源文件,dll也可以去调用其它不同的dll和资源文件,然后exe或者dll去处理数据,呈现给用户一个GUI界面去操作。-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=用比喻来说 :以演唱会为例子:比如你是去看陈奕迅演唱会,陈奕迅好比是exe可执行文件。你们关注的是陈奕迅,也就是普通人要执行软件,首先去找exe后缀的文件。但演唱会有很多元素,配乐,音响:可以理解为dll文件,灯光,舞台等等理解为资源文件。配乐,音响,灯光,舞台等等,这些不是你们主要关注的对象,他们只是辅助陈奕迅演唱会顺利进行的配角,他们就理解为各种资源和各种库。执行exe文件,就代表演唱会开始,然后需要用到各种各样的配角去配合完成演唱会,exe文件就去调用需要的dll,比如,(配乐.dll),执行"配乐.dll",可以开始播放背景音乐,调用灯光.gif,就可以呈现出各种各样的光效,但灯光.gif 由谁来调用呢?陈奕迅不会去操控灯光(但程序里可以exe去调用,也可以交给外部dll去调用,但与其让陈奕迅去学会操控灯效,不如请个灯效师,也就是灯光开始.dll这个灯效师),所以这时候有个灯光开始.dll就可以去控制灯光.....(省略500字)所以打包下来,就是以下几个东西:陈奕迅.exe电源.dll配乐.dll灯光.gif灯光开始.dll安保.dll演出服装.png...............................但有些时候,我们觉得,dll文件这么多,会不会很冗余,所以我们辞掉了灯效师和控制电源的两个人,然后请了一个既会控制电源,又会操控灯效的人。(把两个dll合并成一个,就有一个power.dll,演唱会开始了后,我发出命令,power.dll,帮我打开舞台的电源,然后power就会打开舞台电源,然后你再叫他给我配合一下灯效,他就会帮你打灯效)一场演出下来,我们只会去关注陈奕迅他怎么表演,但其他的舞台效果,各种后台工作人员,就是各种dll和资源文件。这下比喻清楚了吧,还不清楚我就没办法了,书读的少,不怎么会表达。。。
引擎不一定都在exe里,有部分可以放在DLL里(比如要和编辑器共享),另外需要用到的库(zlib啊,bink啊)可能也在DLL里图形数据,3D的话一般有模型,贴图(一般还有各种大小精度满足不同配置需求),骨骼动画脚本,可以是lua或者其他语言关卡数据(NPC啊,场景设置,引擎动画啊什么的),这个格式完全取决于引擎预渲染过场动画和音乐以上所有除了exe和DLL一般都会压缩打包,所以也有可能你只能看到几个打包后的压缩文件
补充下阿怪的***中关于dll和exe分离的原因:(转自太平洋电脑网 地址为:)3.为什么要用DLL  刚才在谈到这个问题的时候,只解释了DLL将程序代码封装成函数的原理。为什么封装成函数,就能成为系统中大量使用DLL的理由呢?  ①扩展应用程序  由于DLL能被应用程序动态载入内存。所以,应用程序可以在需要时才将DLL载入到内存中,这让程序的可维护性变得很高。比如QQ的视频功能需要升级,那么负责编写QQ的程序员不必将QQ所有代码都重写,只需将视频功能相关的DLL文件重写即可。  ②便于程序员合作  这个和最终用户关系不大,仅供了解。大家都知道编程工具有很多,比如VB、VC、Delphi等,如果好几个人合作来编写一个大的程序,那么可能有的人用VB,有的人用VC,每人负责的部分所使用的编程语言都不同,究竟放在哪个编译器中进行编译呢?这就好比一群来自各个国家的人在共同编写一篇文章,如果他们所使用的语言都不同,写出来的文章怎么可能凑到一起呢?而有了DLL后,可以让VC程序员写一个DLL,然后VB程序员在程序中调用,无需为怎么将它们都编译为一个单独的EXE而发愁了。  ③节省内存  如果多个应用程序调用的是同一个动态链接库,那么这个DLL文件不会被重复多次装入内存中,而是由这些应用程序共享同一个已载入内存的DLL。就好比一个办公室中,很少会为每一个员工配置一台饮水机的,而是在一个公共位置放上一个饮水机,所有需要喝水的职员都可以共用这台饮水机,降低了成本又节约了空间。  ④共享程序资源  包括刚才提到过的通用文件对话框在内,DLL文件提供了应用程序间共享资源的可能。资源可以是程序对话框、字符串、图标,或者声音文件等。  ⑤解决应用程序本地化问题  在下载了某个程序的汉化包后,打开汉化说明,经常可以看到用下载包中的DLL文件覆盖掉程序原来的DLL,汉化就完成了。这些程序都是将执行代码和应用程序界面分开编写了,所以汉化者只需简单地将其中和程序界面相关的DLL汉化并发布即可。
图片啊,音乐啊,GUI啊,剧情啊,存档啊……
库文件。包括动态库、静态库。资源文件。音频、图片等。配置文件。数据文件。日志文件。其他文件。中间文件、垃圾文件等。
Windows下的,DLL和EXE就不说了。其他还有配置文件,比如*.XML、*.INI,特别是XML,拓展性强,用来写皮肤、储存数据、储存配置等等都行;图片,不多说,常见的*.ICO、*.PNG等等;提示音文件,例如*.Wav;数据库文件,比如*.DB;超文本标记语言文件,例如Web Browser控件展示*.HTML作为帮助文档,为什么用HTML呢?因为布局起来还是挺方便的,当然,这也包括了*.CSS、*.JS等等;*.CHM、*.PDF等等,作用同上;*.RTF、*.TXT,主要是展示License、ReadMe等等;基本上一个典型应用程序,除开各种EXE和DLL,最多的第一就是媒体文件、其次就是配置文件、数据文件、然后就是帮助、介绍文件等等。
如果这个应用程序是一个装满各种乱起八糟东西的房间,那么exe基本上就是一个导游,跟着他才能进入这个房间里并找到你要的东西。所有很多游戏的破解补丁需要替换这个exe文件。房子还是一样的房子,不过原来的导游看你是一盗版用户,根本就不搭理你,所以干脆就换个导游。
以子弹风暴和Braid这两个游戏为例,看看我硬盘上的子弹风暴虽然有这么多文件夹,其实可以删掉很多,游戏照样能玩的。当然有几个不能删的:Engine是图形引擎(3D引擎),一般3D游戏都会用现有的引擎,或者自己开发个引擎也行。Shaders里面是着色器,用这些文件保存了屏幕上图形、颜色等的渲染规则。Binaries,这是肯定不能少的。里面有exe,dll,作用楼上都说得很清楚了,而写着Microsoft字样的文件夹,里面有Visual Studio 2010运行所需的类库(就像你播放视频也要先***Flash播放器一样!) PhysX下面的是NVIDIA的驱动程序。 那么如果你的显卡不是NVIDIA显卡呢?照样有这个文件!因为一个大型游戏实际上用到了很多个厂商的技术,NVIDIA在这里提供了这个游戏的一部分图形技术。在他们自己的显卡上会运行得流畅一些,别的卡也能跑!StormGame下面包括了玩家的选项配置、过场动画等等,删掉了也能玩,程序会重新生成一份配置,而遇到过场动画就跳过就行了!
Splash这个文件夹,下面只有两张图片,这种一般是游戏刚启动的时候所显示的图片,因为这时候一般不会进到数据文件里面加载,那样会比较慢(还要程序初始化、解压),游戏启动的时候很多人没耐心等他加载,这个时候先显示一张图片给人看着先!CN_Uninst下面是卸载的程序。Support下面是用户许可协议、技术支持的联系方式等等,最常见的是readme.txt,里面会告诉你如何解决诸如黑屏、死机、不兼容之类的问题。当然这些文件都可以删,游戏照样能玩。相比来说Braid就简单多了,他是一个2D的小型游戏,如下:该游戏支持多国语言,要玩哪个语言就从哪个语言的bat开始执行,所以有CHINESE, ENGLISH等等这么多文件。除了根目录以外,上面只有两个文件夹(Braid guides这个文件夹是我自己另外建的)。licenses里面只是文本格式的许可协议而已。真正有内容的就只有data这一个文件夹。fonts里面有三个字体文件,分别是日文、韩文、繁体中文(别的语言怎么办?在下面的zip文件里面,因为拉丁语系的字体文件小,不单独放在外面了)。strings里面是要显示的文字,每种语言一个文件(所以如果剧情、对白之类的有修改,发补丁就只发strings里面的文件即可)。fonts里面有三个字体文件,分别是日文、韩文、繁体中文(别的语言怎么办?在下面的zip文件里面,因为拉丁语系的字体文件小,不单独放在外面了)。strings里面是要显示的文字,每种语言一个文件(所以如果剧情、对白之类的有修改,发补丁就只发strings里面的文件即可)。package.zip和package0.zip两个文件是普通的zip压缩格式,打开可以看到分别存了什么,有运行所需的数据、着色器、声音、图像等等。 为什么分两个zip呢? 这是程序员自己觉得方便,自己定义的,如果你开发的游戏你也可以只用一个zip或者用3个zip都可以。 打开其中一个zip,很多jpg和bmp格式的图片。再打开一个叫做animation的文件夹,里面定义了游戏中的人物动作:jumping0.0000003
0.000000277 583
0 0414 586
0 0339 514
0 0bounce0.5000004
0.00000063 774
-20 22246 965
-20 2164 835
-20 22308 846
-22 22这便是两个不同人物做“跳跃”动作的代码,这些数字可以推测指的是图片中的像素, 后面有正负数的是位移的像素值。
所有的文件都是数据,作者决定它有什么用,包括exe文件在内,所有文件的用途都没有硬性规定。以游戏为例,通常情况,玩家执行那个作为入口的exe,然后由exe来引导玩家进行整个游戏,途中访问其它的游戏文件。那些文件可以是多媒体内容,可以是游戏配置、存档,可以是游戏逻辑,也可以是另外一个入口。因为这样做比较合理,所以大家都这么做。前人之述备矣,然……那些都是不必要的。包括exe文件在内,所有文件的用途都没有硬性规定。我见过一个恶意程序,恶意代码本体存放在ico(图标)文件里面(然后有些脑残杀毒软件就不查了)……游戏“入口”可以不是exe(上面有人举例bat),如果游戏作者足够神经病,它可以让你双击doc文件来进入游戏。音乐/视频文件可以不是wav/avi(或者其它媒体格式),有时候,你把游戏目录中某些莫名其妙的文件硬拽进媒体播放器,会放出音乐/视频来。但大多数情况下,游戏公司还会进一步加密、打包。很多galgame也会这么做,防止游戏素材泄露。可以只有一个exe文件,其它内容全部包进这个exe文件里,这个文件运行时可能会创建一些临时文件,退出后自动删除。因为这样做会使程序变慢,大型游戏通常不会这么做,但是一些绿色软件爱好者会喜欢这个。举一些实际例子。《冰风谷2》,运行那个看上去像是“主程序”的exe文件,会进入反盗版系统,真正进入游戏的“入口”是旁边那个同名的dat文件。《英雄无敌3》完全版,\heroes3\data\里面的Heroes3.vid文件,主要内容是游戏动画,不过,它同时兼任着“验证游戏光盘是否插入”的功能。上例中,游戏目录里还有一些pdf文件,那是帮助文档,介绍游戏的基础操作,应该在游戏开始之前观看。《三国群英传1》,除了主程序之外还有一个巨大的pak文件,估计这个文件里打包了几乎所有的游戏资料,图片、声音、动画、文本……《马基埃亚尔的传说》,有一些.teaa的文件,实际上是文件打包,解压后里面是游戏脚本。据说,将这些文件解压入同名文件夹里并删除原文件,可以增加游戏速度。某软件,某dll文件会不断变大,后来明白它是数据库伪装的。
赞成@一只阿怪 所举的演唱会例子。我也举个类似的例子吧。我买了一只手表。手表能走,能显示时间,能转旋钮调节时间。我不会去操心手表「为什么会走」,不会去管里面有怎样复杂的精密结构,有多少齿轮啮合,有发条还是有电池什么的。我只知道这是块「手表」,能看时间。exe之外的东西就如同这些零件一样,没有他们,手表就不能如预期那样工作了。只是,win的***方式让这些文件和exe混合在一起,一眼望去,好像手表的表盘变透明了,你能一眼看到下面所有的机械传动结构一样。如果不确定那些文件是做什么的,就不要随便乱动,放那里就好了。就好像你不是修表师傅,随便碰了哪个零件都会让手表不再工作。私货时间:所以我更喜欢mac下处理app的方式:每个app其实是个文件夹,但却仿佛是可执行文件一样双击就能用,不用操心类似本问题的事情。对高级用户而言,右键查看又可以看到内部结构。还是手表做比喻,mac下的app是平常看到的有表盘和刻度的手表,win下的exe是表盘透明,能看到所有零件的手表。对电脑普通用户而言,哪个简单?
已有帐号?
无法登录?
社交帐号登录

参考资料

 

随机推荐