静态编译和动态编译有何不同
答案:2 悬赏:30
解决时间 2021-01-21 02:43
- 提问者网友:像風在裏
- 2021-01-20 03:47
静态编译和动态编译有何不同
最佳答案
- 二级知识专家网友:拾荒鲤
- 2021-01-20 04:16
静态编译与动态编译的区别:
1、动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令。
所以其优点一方面是缩小了执行文件本身的体积,另一方面是加快了编译速度,节省了系统资源。
缺点一是哪怕是很简单的程序,只用到了链接库中的一两条命令,也需要附带一个相对庞大的链接库;二是如果其他计算机上没有安装对应的运行库,则用动态编译的可执行文件就不能运行。
2、静态编译就是编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库。所以其优缺点与动态编译的可执行文件正好互补。
1、动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令。
所以其优点一方面是缩小了执行文件本身的体积,另一方面是加快了编译速度,节省了系统资源。
缺点一是哪怕是很简单的程序,只用到了链接库中的一两条命令,也需要附带一个相对庞大的链接库;二是如果其他计算机上没有安装对应的运行库,则用动态编译的可执行文件就不能运行。
2、静态编译就是编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库。所以其优缺点与动态编译的可执行文件正好互补。
全部回答
- 1楼网友:酒醒三更
- 2021-01-20 04:48
静态编译就是把库函数编译到你的程序里 这样编译的好处是 可以适应不同的平台 如果你是用window系统的话不建议用静态编译 因为这样会使你的代码量增大
动态编译就是不把库函数编译到你的程序里追问能说得更详细些吗?我是计算机专业的,希望能有更专业详实的答案追答#include
void gg();
void main()
{
gg();
}
void gg()
{
系统库函数
.........;
}
静态就是编译的时候把 gg() 这个函数一起加到你的程序里
动态就是不加
动态编译就是不把库函数编译到你的程序里追问能说得更详细些吗?我是计算机专业的,希望能有更专业详实的答案追答#include
void gg();
void main()
{
gg();
}
void gg()
{
系统库函数
.........;
}
静态就是编译的时候把 gg() 这个函数一起加到你的程序里
动态就是不加
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯