静态链接和共享链接的分析

1268 人浏览 | 时间: 2015-06-23 23:27:38 | 作者: codexia
    有时候,我们在网上下载一个项目代码,在本机运行时提示,MFCxxx.dll不存在。或者有时候,我们把做好的程序发给好朋友,结果好朋友电脑运行时也这样提示。那怎么办呢?
    先让我们来了解一下基本原理,然后就很好的理解对策。
    静态链接,就是在程序生成时,将程序所需的一些动态库文件在链接生成EXE文件时直接打包到EXE文件里,这样,需要多少库文件支持就需要将多少库文件打包到EXE文件中。这样在EXE可执行文件(程序)运行时,程序直接到EXE文件内部提取相关的函数执行,这样就不用依赖外部提供的库文件了。因为要将库文件打包到EXE文件中,那么可想而知,这些库文件必然会增加EXE文件的大小。如果库文件很大,那么再静态链接和打包后,会使EXE文件急剧增大,可能就达到几M或者十几M甚至几十M。有时候并不是我们希望的,我们不希望程序变得很大。对于一般的小程序小工具,都是作为单独的EXE文件,这样传播时方便,也不会因为少了库文件导致无法运行,只是文件大了点。所以说,这种方式就很适合。
    共享链接,就是在程序生成时,并不会将库文件打包到EXE文件中的形式。如果要调用库文件中的函数,那么会引导程序去系统查找相关的库文件。查找的路径包括系统的文件夹以及当前文件夹和环境变量中的路径。如果是系统的库,自然就会到系统文件夹去找,如果是我们自己的库文件,我们一般放在我们的文件夹即当前文件夹里,这是通常的做法。或者在环境路径里
请微信扫码阅读。
为防止恶意爬虫,
已开启反爬机制,
理解哟~~~~
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0

相关阅读