环境变量-UC

1.每个进程都有对应的环境变量表,内核分配和维护的

2.进入shell命令页面后,env显示的默认是bash的环境变量

3.环境变量分为全局和局部,

全局:当前shell和其子进程都是可见的

局部:只有当前shell可见

4.将局部设置成全局:export name

5.删除环境变量:unset name

6.查看环境变量:echo $name

7.环境变量可以记录一些信息,比如路径信息,当进程读取这个环境变量信息时,就可以读取路径信息

8.特殊环境变量PATH:以冒号分隔的多个路径,是bash进程对命令的检索路径

9.家目录下有个.bashrc脚本文件,每次启动bash都要执行这个文件,PATH=$PATH:.

10.main函数 三个参数:int argc ,char * argv[],char * envp[]

11.把所有的功能都写在一个.c源文件中,编译时间会很长,不易于维护和升级,不易于协作开发

12.库文件分静态库和动态库

13.静态库文件的命名:libxxx.a

14.静态库是把多个.o文件打包成一个.a文件,ar -r  libxxx.a  aa.o  bb.o

15.链接静态库就是将库中被调用的代码复制到调用模块中

16.静态库和主调函数不在一个目录下的话,编译时:gcc main.c  -lmath -L..

17.-l 表示找什么库,-L表述寻找路径

18,静态库的路径设置环境变量 LIBRARY_PATH,设置后,编译时:gcc main.c  -lmath

 19.动态库:libxxx.so,不是复制到调用函数中,而是嵌入指令,跳转到执行函数中,

20. gcc -c  -fpic  xxx.c

21. gcc -shared xxx.o yyy.o  -o  libxxx.so 

22.链接器负责执行时库的跳转,需要配置环境变量:LD_LIBRARY_PATH

23. PATH  给bash用的,用来找命令

      LIBRARY_PATH 给gcc用的,用来在编译阶段找库

      LD_LIBRARY_PATH 给链接器用,在执行时,找库跳转

24.动态库的动态加载:包含的头文件#include <dlfcn.h>,并链接该库 -ldl

25.打开共享库,将共享库载入内存 dlopen函数

26.dlsym返回动态库中的函数地址

27.dlclose从内存中卸载动态库

28.dlerror获取错误信息

29.标准输入  键盘  stdin

标准输出    显示器  stdout  有缓冲区

标准错误     显示器  stderr  无缓冲区

30. 编译时:gcc  load.c  -o load  -ldl

31.通过标准错误打印错误信息perror

32.man 1 命令

     man  2  系统调用,接口函数 

     man  3   标准库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值