gcc, g++

tip

要求 例子
同时编译多个c文件 gcc main.c test.c -o main

gcc

  • gcc 安装:
    1. 安装mingw-get, 并将bin目录添加到环境变量
    2. 命令行输入 mingw-get install gcc

处理阶段与常用指令

指令格式有两种:

  • gcc 依赖文件  -选项   目标文件,如 gcc main.c test.c -o main.exe
  • gcc  -选项  目标文件   依赖文件, 如 gcc -o main main.c test.c

在这里插入图片描述
用gcc在Windows上编译*.c文件并非直接生成*.exe文件(Linux上为*.out),中间还经历了预处理、编译和汇编几个过程,gcc提供了生成中间文件的指令.

命令 功能 说明
gcc demo.c -> a.exe 默认名称为a
gcc demo.c -o …/demo.exe ->demo.exe 使用 -o 设置名称和路径
gcc -E demo.c -o demo.i ->demo.i 预处理 -E,包含头文件、宏替换
gcc -S demo.i -> demo.s 编译 -S, 得到汇编代码
gcc -c Demo.s ->demo.o 汇编 -c,得到机器码
gcc Demo.o -o Demo.exe ->demo.exe 链接
gcc demo.o libtest.a -o demo.exe ->demo.exe 链接静态链接库
ar -rcs libtest.a test.c ->libtest.a 打包静态链接库
  • 阶段可以跳跃,比如可以直接 gcc Demo.c -o Demo.exe, 让编译器自动预处理,编译,汇编。
  • 预处理阶段需要把调用的头文件包含进来,替换宏常量和宏代码段。
  • 预处理阶段不会检查语法错误

help

  • gcc --help, 列出所有的指令和简要说明

g++

与gcc基本一致

条件编译

避免头文件被重复编译

#ifndef CAMERA_H
#define CAMERA_H
......
#endif 

储备知识

  • GCC: GNU Compiler Collection, 包括gcc,g++等
发布了56 篇原创文章 · 获赞 2 · 访问量 494

猜你喜欢

转载自blog.csdn.net/qq_41956860/article/details/103012404