1.
在一个终端建立一个文件,并打开后,若再次建立一个终端打开此文件编辑时则发生错误,当文件被创建时会建立一个隐藏文件,“main.c.swp”再次打开时,会先去找main.c.swp文件,若此文件存在,则代表文件被打开过。第二个打开时只能看,不能修改,此时为一个只读文件。
2.什么是库文件?
库是一组预先编译好方法的集合。
存放地址;/lib ,/usr/lib
命令存放在/usr/bin下
3.头文件存放在/usr/include
4.
libc.so :共享库,c的标准库
5.静态库和共享库
1)静态库
ar crv liboo.a bill.o fred.o
crv 参数 libfoo.a 库的名字 bill.o fred.o 库里面需要 打包的.o文件
c 创建一个库 r 把.o文件添加到库里 v 显示过程
前缀lib 后缀.o 名字 foo
库里面没有主函数,只有实现方法
2).c为什么不需要指定?
因为c库编写时都会用到stdio.h,在写程序时,自动链接到c的标准库,默认路径
3)共享库
gcc -shared -fPIC -o libfoo.so add.o max.o
4)静态库和标准库的区别?
静态库在链接时将用到的方法包含到最终生成的可执行程序中,而共享库不包含,只做
标记,在运行程序时,才动态加载。
使用共享库编译的可执行程序明显比使用静态库小一些,静态库被删掉可执行程序依然可以执行,共享库被删掉,使用该共享库,或依赖该共享库的都不能执行。
5)如果库不在标准文件下,则通过设置环境变量来指定加载库的路径。
环境变量看值:echo $.......
环境变量命令:export ....
