gcc

[TOC]

gcc的工作流程

  1. 预编译阶段会去除注释

  2. 编译会生成一个编译文件

  3. 汇编会得到一个二进制文件

  4. 部分命令

  5. 执行多文件时,一定要编译多个.c文件

制作动态库和静态库

静态库的创建

  1. 静态库的命名格式(linux)

    前缀是lib

    后缀是.a

    例如libxxx.a

  2. 静态库的命名格式(windows)

    前缀是lib

    后缀也是lib

    例如libxxx.lib

  3. 静态库的链接

    image-20230619194413609

    • ar参数的使用

      image-20230619194627222

    • 打包练习

      ar rcs libxxx.a *.o

      注意.o是已经编译的文件

      image-20230619211403619

    • 使用nm -C .o查看所有定义

      T 是外部函数

      U 是本文件的函数

      image-20230619213441041

  4. 静态库的使用

    编译.a文件

动态库

  1. 动态库的创建

  2. 使用

动态库和静态库的优缺点比较

  1. 动态库运行效率低,但是占用的内存小,对于现代计算机而言,运行效率差别不大
  2. 现在大多都是发布的动态库

gcc
https://tsy244.github.io/2023/06/15/linux/gcc/
Author
August Rosenberg
Posted on
June 15, 2023
Licensed under