在下载游戏的安装包时,经常会在游戏文件夹中看见后缀名为.dll的文件,用记事本打开之后,发现是乱码,所以不禁好奇起来,这个dll文件,在整个程序系统中,到底起到了什么作用?
大家都知道.exe文件的作用,当我们想打开游戏,却又在桌面找不到快捷图标,都会自己去到游戏文件夹里找一个exe文件,通常点开它,就可以打开游戏尽情的玩了。通常,我们都可以很快的在众多文件夹里找到这个exe文件,因为这个文件的图标一般都是所有文件中最绚丽的一个。
虽然,我们很少注意那些默默无闻的dll文件,可是当打开文件之后,提示某某dll文件发生错误时,它就仿佛变得不那么默默无闻了,之后查阅了相关资料才发现,dll文件本质上和exe文件是一样的,都是计算机可以运行的程序代码,只是因为不能打开,并且没有一个漂亮的图标,它的重要性才会一直被我们忽略。
和exe文件一样,dll文件上也是记满了程序指令,只有查阅了这些程序指令,计算机才知道自己到底需要做什么、怎么做,才能实现这些美轮美奂的游戏效果。试想如果计算机想要实现一个效果,需要知道该怎么做,可是却偏偏找不到对应的dll文件,或者只找到错误的dll文件,那它又如何实现那些效果?这时候你就只能看到一个错误提示了。
现在又一个问题出来了,既然dll文件是程序指令,exe文件也是程序指令,那么将程序指令放在一个文件里就好了,为什么要分成exe文件和dll文件呢?我曾经看到过一个游戏里,exe文件很小,只有几十KB,所有的程序指令几乎都存在了dll文件里,这又是为什么呢?
这个问题虽然看着令人费解,其实理解起来很简单,就是空间问题,在游戏运行的一开始,需要加载exe文件,如果所有的代码都存储到exe文件里,游戏打开时需要的内存空间就很大,游戏打开速度就会很慢,在游戏运行的整个过程中,有些代码只是在特定的情况、特定的时间才会被运行,所以这些代码没有必要在一开始就被加载,所以这些代码就和exe文件分开放置,存储到dll文件中,在需要它的时候,就被加载,不需要的时候就被释放。