比较Windows,控制台,静态库和C ++中的DLL时,后两者分别用于什么?

| 我很难理解我的文字,我想非常了解每个部分。请,请尽可能描述。非常感谢你。     
已邀请:
程序员通常会发现他们有一些要在多个程序中使用的代码,或者希望让其他程序员使用的代码。他们可以将逻辑复制并粘贴到每个程序中,也可以将逻辑放置在每个项目中包含的公共头文件和实现文件中。这些方法都不是非常优雅(或有效)的。 静态库是共享逻辑的一种方法,以便其他程序和程序员可以使用它。静态库是适合输入到链接器的二进制文件(通常带有.LIB扩展名)。程序员通过编写代码来调用静态库中实现的一个或多个函数,并安排链接器读取该静态库文件作为附加输入,从而消耗了静态库。在构建期间,链接器将解析所有引用,包括对静态库中实现的函数的引用。通常,静态库与描述该库中实现的功能的头文件配对。 动态链接库是共享逻辑的另一种方法。动态库也是二进制文件(通常带有.DLL扩展名)。与静态库不同,DLL不用作链接器的输入。而是在程序执行期间动态加载DLL。 DLL可以通过调用LoadLibraryEx和GetProcAddress显式加载,也可以在加载使用程序时隐式加载。     
静态库是二进制文件中包含的库。之所以说它是静态的,是因为它在链接器运行时与您的程序链接。 DLL是一个动态链接库,因此它是在二进制程序加载到内存时(而不是在编译和链接时)针对二进制程序链接的共享代码。     
名称就说明了一切-静态库是静态的(您可以使用链接器对其进行编译,并使用它们进行链接,它们将成为程序的一部分),而DLL(动态链接库)则在运行时通过文件名动态链接,然后调用其方法。它是外部的。     

要回复问题请先登录注册