一门编程语言,以java为例,由两部分组成,一个是语言的核心,就是关键字,语法,面向对象特性什么的,然后就是api接口了,java的集合框架,io,多线程就是一些api,java语言功能的扩展也是通过增加api来实现的。程序员通过调用java的api接口来实现程序的功能。学习一门语言,学习语法之外,就是学习api了。
2、什么开源库
当我们要实现一个功能的时候,首先会去文档中查阅有无相关的类。如果有,可以直接来使用;如果没有,我们会自己写一个类或几个类来实现。当有一类问题需要基本相同的类来实现,有人会将这些通用的功能需要的类组合起来,做成jar包的形式,再配上javaDoc和帮助文档什么的,就是一个第三方的api,也就是类库了。如果把一个类型的模块性质的东西开放源代码,其他程序员可以对这个模块可以进行修改和完善,这就是一个开源库了。
3、什么是框架
框架其实是对底层的封装,将一些相同的,不会变化的东西封装一下,让它自动化的完成,可以提高开发效率,减轻工作量。根据封装功能的不同,就有了很多不同的框架了。框架是建立在基础的api之上的,如果你基础掌握的好,学习框架会很容易。不会有理解上太多困难,只是对api的学习。
头文件中有函数的申明,库文件实现函数的定义。
比如,printf函数。使用时应包括stdio.h,打开stdio.h你只能看到,printf这 个函数的申明,却看不到printf具体是怎么实现的,而函数的实现在相应的C库 中。
而库文件一般是以二进制形式而不是C源文件形式提供给用户使用的。
程序 中包括了stdio.h这个头文件。链接器就能根据头件中的信息找到printf这个函 数的实现并链接进这个程序代码段里。
总结起来就是,库文件通过头文件向外导出接口。用户通过头文件找到库文件中 函数实现的代码从而把这段代码链接到用户程序中去。
包含文件通常是说*.h文件.h文件包含了类申明,通常是描述接口的.引用文件?
C++里一般没有这样的提法.
库文件在C++里大致有以下的几种
*.lib
接口地址库文件,如果是静态库的话则还包含了实现二进制.
*.dll
动态链接库,
作为共享二进制加载到进程.通常每个dll都会对应一个同名lib
我认为他们的区别在于,包含文件是代码一级的,库文件则电脑才能看懂的二进制一级的.共同点则是他们都描述某个类或者模块的接口.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)