动态连接:
只在使用到DLL的时候才将它载入内存,如果程序在运行过程中,从来没有执行到使用DLL的分支,那么这个DLL是不会被载入内存的。
静态连接:
在程序启动后立即加载这个DLL,而不是等需要时再进行加载。
在EXE编译时,如果做成动态连接,那么DLL是不会被编译到EXE文件中,所以EXE文件会比较小,但是使用EXE时,必须还同时拥有对应的DLL文件;如果做成静态连接,那么这个DLL是要被编译进EXE中的,这样EXE文件的体积就会变大。
编译主要工作是检查一下你的源代码,看看它是否能够读懂,如果可以完全明白,就把你的源代码变成一种计算机更方便处理的文件,通常我们称为目标文件,常用后缀.obj 或.o,编译的工作就结束了。链接程序的拿到目标文件后,进行装配工作。因为你设计的程序中,要不是调用自己设计的功能,要不调用系统提供的功能。链接就是把根据你程序说明的调用关系,找到相应的程序,把它们拼接起来,形成可以被 *** 作系统执行的文件,也就是可执行文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)