zoukankan      html  css  js  c++  java
  • 什么是库?

    库(library)是函数库的简称。每个库都有至少一个的头文件,和一个库文件。库文件中是目标代码状态的函数,而通过头文件,我们能够知道某个库中有哪些函数,按照怎样的方式才能使用它们。在学了C后,我们会了解的更多,现在要介绍的是:库按使用方式分两种,动态库和静态库。

    用过Windows的人应该知道一种叫DLL的文件,那就是Windows上的动态库,DLL是Dynamic link Library(动态链接库)的缩写。而在Linux上,动态库通常是用.so结尾的。
    而静态库在Linux上是以.a结尾的。动态库和静态库的区别就是,动态库不是使用它的程序的组成部分,即程序中不包括动态库的代码(见下插图),只包括使用动态库的代码,这样可以有效的减少程序的大小。当然,这样做也是有条件的:程序运行时,必须“动态地”调用动态库中的函数,则该动态库一定要在系统可以找的到的地方。而静态库就不必这么麻烦,使用了静态库,就意味着静态库中的代码也是程序的一部分,程序会变的比较大。但不必依赖动态库是一大优势,可以使用在没有该动态库的系统上。

    Windows上发布的软件常常是以静态编译(即编译时包括静态库)的方式发布的,而大型软件则以动态编译加动态库的方式发布(可以有效减少软件的大小)。

  • 相关阅读:
    倍增 思想与操作
    JZOJ 4307. 【NOIP2015模拟11.3晚】喝喝喝
    快速幂 简单快速的乘方运算
    GDKOI2018总结
    myeclipse连接oracle数据库调试方法
    Error filterStart Context [/toucher] startup failed due to previous errors
    Win8初体验
    09Java项目比武大会
    学习笔记Oracle常见错误
    关于小黑双系统问题
  • 原文地址:https://www.cnblogs.com/chisheng1686/p/3670875.html
Copyright © 2011-2022 走看看