静态链接与动态链接的区别:
(1) 比如 你有 a.elf b.elf 两个文件都使用 libc.a 里面的printf函数
若a 是静态链接的, printf的代码会被拷贝到a.elf里面
若b 是动态连接 b.elf文件不会有printf的代码, b.elf里面只有一个指示符号表明printf是外表libc里面的函数,需要在运行的时候去找libc.so
(2) 静态编译的代码大小要大于动态编译,速度相对较快
静态编译的代码,对于printf 还可以进行全局代码调度。
动态编译不行。
阅读(1694) | 评论(0) | 转发(0) |