一.库文件在哪里
二.头文件在哪里
三.可执行程序/命令在哪里
四.什么是库?共享库?静态库?
一.库文件在哪里
标准库文件一般存储在/lib和/usr/lib中
注:因为在默认情况下,c语言编译器之搜索c语言库,所以库文件必须遵循特定的命名规范并且需要在命令行中明确指定, 库文件的名字总是以随后的部分指明这是什么库(例如:.c代表c语言库,.m代表数学库)
二.头文件在哪里
c语言:几乎总是位于/usr/include目录及子目录中,那依赖与特定Linux版本的头文件通常可在目录/usr/include/sys和/usr/include/c++中
其他编程系统:有各自的头文件,存储在可被相应编译器自动搜索到的目录里
X视窗系统:/usr/include/X11
GNU C++:/usr/include/c++
可以用以下命令查找include包含的库文件:
三.可执行程序/命令在哪里
可执行程序通常存放在系统为之保留的特定目录中,系统为正常使用的提供的程序,都可在目录/usr/bin中找到;系统管理员为某个特定的主机或本地网络添加的程序通常可在目录/usr/local/bin或/opt中找到
四.什么是库?共享库?静态库?
库:是一组预先编译好的函数的集合,这些函数都是按照可重用的原则编写的,他们通常由一组相互关联的函数组成以执行某项常见的任务,比如屏幕处理的函数库和数据库访问例程,存放在/usr/lib
函数库通常以静态库和共享库两种格式存在:
①静态库
也称为归档文件,按惯例他们的文件名都以.a结尾,当同时运行许多程序并且他们都来自同一个函数库的函数时,内存中会有同一函数的多份副本,耗内存和磁盘空间
②共享库
共享库和静态库存在位置相同,后缀为.so,他的链接方式是程序不再包含函数代码,而是引用运行时刻访问的共享代码,当编译好的程序被装载到内存中执行时,函数引用解析并产生对共享库的调用,如果有必要才被加载到内存中。