首页 > 其他分享 >gcc的基本编译过程

gcc的基本编译过程

时间:2022-11-27 14:58:38浏览次数:56  
标签:基本 文件 gcc run cc 编译 main

​本文有参考链接: GCC编译命令常用选项_一口Linux的博客-CSDN博客_gcc常用编译选项 

gcc的基本编译过程图示(从参考链接里取的):


下面是我自己使用Makefile编写的gcc的四个编译过程的代码: 

# Makefile:
# gcc的基本编译的阶段过程


cc = gcc
objs = main_run.o

 

# 4. 链接, 将所有的汇编文件链接为总执行文件
main_run: $(objs)
$(cc) $^ -o $@

# 1. 预处理, 产生将头文件展开进.c文件后的总代码文件(.i文件)
main_run.i: main_run.c
$(cc) -E main_run.c -o main_run.i

# 2. 仅编译, 产生汇编语言指令文件.s
main_run.s: main_run.i
$(cc) -S main_run.i -o main_run.s

# 3. 仅汇编, 使用编译产生的.s文件来编译出目标文件(.o文件)
%.o: %.s
$(cc) -c $< -o $@

 

# 其他指令
.PHONY: clean
clean:
rm $(objs) main_run ./*.i ./*.s

 

 

标签:基本,文件,gcc,run,cc,编译,main
From: https://www.cnblogs.com/weitao-miao/p/16929657.html

相关文章

  • SDN控制器-ONOS源码编译与mininet快速入门
    SDN控制器-ONOS源码编译与mininet​​所需环境​​​​系统要求​​​​onos编译软件环境安装​​​​依赖软件安装​​​​Bazel/Bazelisk安装​​​​jdk11安装(可选)​​......
  • HTML初识-概念和基本知识
    1.HTML初识-基础认知+HTML标签1.1目录◆基础认知◆HTML标签学习◆综合案例1.2学习目标◆能够理解HTML的基本语法和标签的关系◆能够使用排版标签实......
  • 57.dt对象的基本使用
     -----------------------------------------------------------------------------------------------------------------------------------------------------------......
  • <一>继承的基本意义
    1:继承的本质和原理2:派生类的构造过程3:重载,覆盖,隐藏4:静态绑定和动态绑定5:多态,vfptr,vftable6:抽象类的设计原理7:多重继承以及问题8:虚基类vbptr和vbtable......
  • 【认证机制】4-Cookie-Session基本概念
    1.  Cookie1.1概述Cookie是一种在远程浏览器端存储数据并以此来跟踪和识别用户的机制。Cookie是Web服务器暂时存储在用户硬盘上的一个文本文件,当用户再次访问Web网......
  • GCC-2——杂项汇总
    1. __builtin_constant_p它是GCC的内建函数,用于判断一个值是否为编译时常数,如果参数是常数,函数返回1,否则返回0。#include<stdio.h>#defineMAX10//builtincon......
  • redis对key和数据库的基本操作
    redis基本数据结构操作:0.基本的常用key操作和数据库操作:keys*查看当前库所有key(匹配:keys*1)127.0.0.1:6379>setusernameqiugeOK127.0.0.1:6379>setage18O......
  • 3,4,10编译程序的组成部分
       ......
  • 学到的一些基本cmd、dos命令与小技巧
    文件资源管理器里路径前面加cmd可以直接在当前目录打开CMD(盘符号)://切换盘符dir//查看当前目录下全部文件(查看子目录)cd(当前目录下文件夹名字)//进入子目录cd/d......
  • 在CentOS编译Git源码
    Git是一个免费的开源分布式版本控制系统,旨在处理从小到小到的所有内容具有速度和效率的超大型项目。Git易于学习,占用空间很小,性能快如闪电。它超越了Subversion,CVS,Per......