当前位置: 首页 > news >正文

静态编译与动态编译的区别

静态编译与动态编译的区别
动态链接库

动态:有

静态:无 

动态编译 

动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令。

优点:

一方面是缩小了执行文件本身的体积;

一方面是加快了编译速度,节省了系统资源。

缺点:

一是哪怕是很简单的程序,只用到了链接库中的一两条命令,也需要附带一个相对庞大的链接库;

二是如果其他计算机上没有安装对应的运行库,则用动态编译的可执行文件就不能运行。

 
静态编译

  静态编译就是编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库。所以其优缺点与动态编译的可执行文件正好互补。

转载于:https://www.cnblogs.com/Ph-one/p/6372637.html

相关文章:

  • Linux 下wifi 驱动开发(三)—— SDIO接口WiFi驱动浅析
  • 蓝牙驱动分析 linux
  • 位域
  • OTN / SONET / SDH
  • 波分复用技术
  • ATM网络
  • 教你如何认识各种光纤接口类型
  • 网线与光纤接口几条线介绍
  • CPU上电时序详细分析
  • 下载模式
  • 以太网接口TCP/IP协议介绍,说的很容易懂了
  • 基于嵌入式Linux的千兆以太网卡驱动程序设计及测试
  • 数据结构基础知识(1)
  • 数据结构之队列
  • 数据结构基础知识(2)
  • android图片蒙层
  • Angularjs之国际化
  • go append函数以及写入
  • scala基础语法(二)
  • springboot_database项目介绍
  • Web设计流程优化:网页效果图设计新思路
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 解析带emoji和链接的聊天系统消息
  • 深度学习在携程攻略社区的应用
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 手写一个CommonJS打包工具(一)
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 用element的upload组件实现多图片上传和压缩
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 数据库巡检项
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • (13)Hive调优——动态分区导致的小文件问题
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (Matlab)使用竞争神经网络实现数据聚类
  • (zt)最盛行的警世狂言(爆笑)
  • (第二周)效能测试
  • (接口自动化)Python3操作MySQL数据库
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)负载均衡,回话保持,cookie
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET导入Excel数据
  • .net实现客户区延伸至至非客户区
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • .net中生成excel后调整宽度
  • []AT 指令 收发短信和GPRS上网 SIM508/548
  • [codevs 1296] 营业额统计
  • [CSS] - 修正IE6不支持position:fixed的bug
  • [Django开源学习 1]django-vue-admin
  • [EWS]查找 文件夹
  • [G-CS-MR.PS02] 機巧之形2: Ruler Circle
  • [Java、Android面试]_05_内存泄漏和内存溢出
  • [LeetCode][LCR178]训练计划 VI——使用位运算寻找数组中不同的数字
  • [LeetCode]—Anagrams 回文构词法