程序中库的优势

当我们在编程的过程中会发现由很多的程序都是重复的操作,c语言标准库给我们提供了许多库函数以方便我们编程。但有c语言标准库是远远不够的,很多时候我们需要自己制作方便于自己的库。
我认为库的存在拥有以下几点优势: 
1、如果没有库,当我们面对大型工程时,那种编译就要半个小时甚至时间更长的工程时,编译就要那么久,如果以后要对这个工程产生bug,需要进行维护,那么编译时间就是一个问题了,你编译半小时或许在最后一秒产生错误警告,那么你又必须改错,继续编译,可以想象这个工程维护的工作量。而拥有库,那么你是哪个模块出现问题,那么你只需要对那个模块的库进行修改,再将那个修改的库进行重新生成即可,一个模块的编译时间和一个工程的编译时间。效率是有质的改变的。因为库都是已经编译好的,所有只需要加载。时间是大大减少的。
2、有的时候我们不想让代码公开,但我们又想将程序的思想体现出来,那么将重要部分制作成库就是必不可少的。库是二进制文件。那么我们可以将程序的所有代码公开,但库的源代码不公开。既能将自己的代码思想公开,而不至于重要信息泄漏。就比如说 jpeg 图片解码库,它只提供该库的头文件(文件里面包含很多函数接口),和这个库你就可以使用该库去完成 jpeg 图片的解码,而你完全不知到它的源码是什么。即保密有方便。
动态库与静态库
静态库: 后缀 ".a"    前缀 "lib"
这种库是将整个库嵌入到源代码当中,那么原程序的体积会比较大,远不入动态库好

动态库: 后缀 ".so"   前缀 "lib"
这种库是在程序运行时链接库的,用不到的不会被加载到程序当中,所以程序的体积会比较小,使用
起来会比较方便

猜你喜欢

转载自blog.csdn.net/qq_41985711/article/details/81748113