了解静态库与动态库么?说说静态链接与动态链接的实现思路

        静态库和动态库都是一些可重用的代码集合,它们都包含了一些函数、类或其它类型的定义。静态库是指在程序编译时被链接到可执行文件中,而动态库则是在运行时被加载到内存中的代码库。

        静态链接的实现思路是:在编译时,编译器会将所使用到的静态库的代码复制到可执行文件中,使得可执行文件中包含了所有的代码。因此,执行可执行文件时,不需要再加载静态库,因为所有代码都已经被包含在了可执行文件中。这种方式的优点是灵活性比较差,但是执行效率比较高,因为所有代码都在同一个文件中,且没有运行时开销。

        动态链接的实现思路是:在编译时,链接器根据程序中引用的函数和库的名字,记录下来所需的库的信息。在程序运行时,操作系统会在内存中查找这些库,并把它们加载到内存中,然后程序可以使用这些库中的函数。这种方式的优点是灵活性比较高,因为可执行文件中不需要包含所有的代码,而是在运行时动态加载所需的库,因此可执行文件的大小会比较小。但是执行效率相对比较低,因为需要在运行时加载库,并维护动态链接关系,会有一些运行时开销。

猜你喜欢

转载自blog.csdn.net/SYC20110120/article/details/133203826