动态连接:
只在使用到DLL的时候才将它载入内存,如果程序在运行过程中,从来没有执行到使用DLL的分支,那么这个DLL是不会被载入内存的。
静态连接:
在程序启动后立即加载这个DLL,而不是等需要时再进行加载。
在EXE编译时,如果做成动态连接,那么DLL是不会被编译到EXE文件中,所以EXE文件会比较小,但是使用EXE时,必须还同时拥有对应的DLL文件;如果做成静态连接,那么这个DLL是要被编译进EXE中的,这样EXE文件的体积就会变大。
编辑,类似于文本编辑,将程序代码输入进去,可以修改,增加,删除编译,将程序代码按一定规则变换成机器可以识别的可执行代码序列,
连接,将编译的代码序列与必须的启动代码,用到的库文件按规则组合连接成可执行程序
包含#include是指在源代码中所要使用的函数的来源.程序文件的连接是指先将源代码编译成中间文件, 经过这个"连接"成为目标文件, 最后将目标文件生成可执行文件.
这是两个完全不同的东东. 没有一点相同.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)