第七周小结

第七周(第六周停课)
大纲
1.静态库和动态库的区别
2.如何制作静态库和动态库
内容:
1. gcc功能:
    预处理 编译 汇编 链接
    1)-E 文件名 停在预处理步骤(头文件展开)
       -E Hello.c     //-E Hello.c > hello.i   将文件放在hello.i中显示
    2)在编译阶段停下(语法检查,词法分析)
       -c Hello.c     //-E Hello.c > hello.o
    3)在汇编阶段停下()
       -S Hello.c     //-E Hello.c > hello.s
    4) gcc Hello.c -o 重新命名的名字  //生成一个你命名的可执行文件
2.静态库和动态库的区别:
    静: 在执行程序之前就已经加入到执行代码中,成为执行程序的一部分来执行的,后缀名:.a
    动: 在执行程序启动时加载到执行代码中,后缀名:.so
 执行效率
 代码部署
 升级
 占用内存大小
3.静态库的建立:
第七周(第六周停课)
大纲
1.静态库和动态库的区别
2.如何制作静态库和动态库
内容:
1. gcc功能:
    预处理 编译 汇编 链接
    1)-E 文件名 停在预处理步骤(头文件展开)
       -E Hello.c     //-E Hello.c > hello.i   将文件放在hello.i中显示
    2)在编译阶段停下(语法检查,词法分析)
       -c Hello.c     //-E Hello.c > hello.o
    3)在汇编阶段停下()
       -S Hello.c     //-E Hello.c > hello.s
    4) gcc Hello.c -o 重新命名的名字  //生成一个你命名的可执行文件
2.静态库和动态库的区别:
    静: 在执行程序之前就已经加入到执行代码中,成为执行程序的一部分来执行的,后缀名:.a
    动: 在执行程序启动时加载到执行代码中,后缀名:.so
 执行效率
 代码部署
 升级
 占用内存大小
3.静态库的建立:
    g++ -c helpguy.cc  // 生成文件: helpguy.o
    ar crs libhelpguy.a helpguy.o // 生成库文件:libhelpguy.a   
4.动态库的建立:
    gcc -shared -fPIC -o 库名 -so 源文件.c
   动态库的使用:
    gcc 源文件.c ./库名.so -o 可执行文件名

猜你喜欢

转载自blog.csdn.net/zjb231425/article/details/69736968