• GCC 编译器


    过程文件

    后缀 含义 描述
    .c 源文件 源代码
    .o 源文件的目标文件 源代码预处理,编译和汇编后的二进制
    .a 目标文件的归档文件 目标文件的打包,没有链接过程
    .so 动态链接库文件 由目标文件或归档文件链接而成,没有程序入口,不能独立运行
    .out 编译输出可执行文件 由目标文件或归档文件链接而成,有程序入口,可以独立运行

    常用工具

    工具 描述
    gcc 通常用于完成预处理、编译、汇编、链接工作 (.c -> .o .so .out)
    ar 通常用于归档目标文件 (.o -> .a)

    常用方法

    1.生成可执行文件

    gcc -o app.out  main.c
    

    2.生成动态库文件

    gcc -fPIC -shared -o libfunc.so  func.c
    

    3.生成目标文件

    gcc -c fun1.c fun2.c
    

    4.生成静态库文件

    ar rcs fun.a  fun1.o fun2.o
    

    常用选项

    参数 描述
    -I 指明头文件的包含路径
    -L 指明静态库的包含路径
    -l 指明静态库的名字
    -Wl,-rpath= 指明运行时可以找到动态链接库的路径
    -g 编译时产生调试信息
    -Wall 生成所有警告信息
    -On n=0~3 优化级别,-O3最高
    -static 禁止使用动态库
    -share 尽量使用动态库(编译时)
    -fPIC 产生与位置无关的代码(链接时)
    -c 激活预处理,编译和汇编
    -o 指定目标名称

    GCC编译器30分钟入门教程

  • 相关阅读:
    Rraspberry Pi 4B python3 安装opencv
    如何用arduion制作智能 垃圾桶
    MySQL(二)表结构的管理
    MySQL(一)基础操作
    vc++绘图基础
    网站签~
    (转)Oracle 知识日常积累
    利用反射判断bean属性不为空(null和空串)
    (转)Oracle 单字段拆分成多行
    svn 解决树冲突
  • 原文地址:https://www.cnblogs.com/llil/p/12585606.html
Copyright © 2020-2023  润新知