什么是库?

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

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

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

转载于:https://www.cnblogs.com/chisheng1686/p/3670875.html

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
函数是一段可重复使用的代码块,它接受输入参数,执行一些操作,然后返回输出结果。函数可以大大简化程序的编写、维护和重用,提高代码的可读性和可维护性。 模块是包含 Python 定义和语句的文件,它可以被其他程序导入并使用。模块可以提供一些特定的功能,如数学计算、文件操作、网络通信等等。 包是包含模块的文件夹,它可以用来组织和管理多个相关的模块。包可以提供更高层次的组织和封装,使得代码更易于维护和重用。 是一组相关的模块和包,它们提供了一些特定的功能,如科学计算、图像处理、机器学习等等。可以让程序员更快速、方便地实现一些复杂的功能,避免重复造轮子。 举例说明函数、模块、包和的使用及区别: 函数: ```python def add(a, b): return a + b result = add(1, 2) print(result) ``` 模块: ```python # math_utils.py def add(a, b): return a + b def substract(a, b): return a - b ``` ```python # main.py from math_utils import add, substract result1 = add(1, 2) result2 = substract(3, 1) print(result1, result2) ``` 包: ``` my_package/ __init__.py math_utils/ __init__.py add.py substract.py ``` ```python # main.py from my_package.math_utils.add import add from my_package.math_utils.substract import substract result1 = add(1, 2) result2 = substract(3, 1) print(result1, result2) ``` :例如 NumPy ,它提供了一些高效的数组计算和线性代数操作。 总的来说,函数、模块、包、都是为了实现代码的可重用性和可维护性而存在,它们的作用和用法略有不同,但都可以让程序员更快速、方便地解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值