首页 > 编程知识 正文

动态链接和静态链接区别,动态链接库kernel32.dll修复

时间:2023-05-04 00:33:55 阅读:178088 作者:1835

静态链接和动态链接的区别

在C语言中,已知生成可执行文件需要预编译、编译、汇编和链接,在链接过程中静态链接和动态链接之间存在差异。 静态链接过程将链接的内容链接到生成的可执行文件。 删除静态库不会影响可执行文件的执行,而动态链接这一过程不会链接内容,而是在运行过程中去查找要链接的内容,因为生成的可执行文件中没有要链接的内容,所以lm 动态链接生成的可执行文件比静态链接生成的文件稍小。

动态库和静态库的区别

关于不设定环境变量的情况

动态库通常存在于/usr/lib/目录下; 静态库可以位于任何目录中,第一次链接时使用绝对路径链接即可,以后删除不会影响生成的可执行文件。 如果可以设置环境变量,则动态库和静态库可以位于任何地方。 但是,动态库必须设置环境变量,并且如果链接了静态库,则需要绝对路径。 但是,一般来说,动态库位于/usr/lib中,所以大家应该都很熟悉。 链接动态库时,默认路径为/usr/lib。

各自的优缺点:

1、静态链接库比动态链接库运行速度快。 (执行过程不需要查找链接的内容。)

2、动态链接库更节约内存。 (没有写入要链接的内容)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。