首页 > 编程语言 >c/c++程序编译运行全过程

c/c++程序编译运行全过程

时间:2023-07-10 10:02:20浏览次数:39  
标签:gcc 汇编语言 c++ 编译 翻译成 全过程 预处理

一.预处理-gcc-E

1. 进行头文件的替换(执行预处理指令)
2. 删除注释
3. 不会检查语法

二.编译-gcc-S

1. 会检查语法
2. 将C语言代码翻译成对应平台的汇编语言

三.汇编-gcc-c

将汇编语言翻译成二进制指令

四.链接-gcc-o

把用到的标准库的函数实现,系统启动代码一并链接到最后生成的可执行文件中

标签:gcc,汇编语言,c++,编译,翻译成,全过程,预处理
From: https://www.cnblogs.com/bcc0729/p/17539888.html

相关文章

  • 华为工程师(王桂林)带你实战C++
    适合人群:有一定的C语言基础或是想提高C++水平的在职人员或是想要从事C、C++开发的绝大多数人你将学到:本课程我以实战为主,课上全部代码均为边讲边手敲,学会此套课程,可以达到一个C++中高级研发者的水平。课程简介:王桂林老师,曾供职于海尔,华为等世界500强企业。现在专职于C++教......
  • 编译运行Secure Value Recovery Service v2
    下载项目gitclonehttps://github.com/signalapp/SecureValueRecovery2.git 编译makedockersh报错 修改DockerfileARGPROTOC_GEN_GO_GITREV=6875c3d7242d1a3db910ce8a504f124cb840c23aRUNgoenv-wGOPROXY=https://goproxy.cn,directRUNgoinstallgoogle.......
  • [C/C++] 函数
    疑问1、函数结束后,函数栈释放的内容有哪些?2、通过函数修改形参的值怎么实现?值传递还是引用传递?基本类型、数组、结构体有什么区别?3、如果想通过函数对实参进行malloc,为什么必须用二级指针?函数栈空间在一个函数执行完毕后其所占用的内存空间(除了静态和全局变量)统统会被释放......
  • 《C++》容器--deque
    deque双端数组。可以对头尾进行插入和删除操作#define_CRT_SECURE_NO_WARNINGS1#include<iostream>#include<deque>#include<algorithm>usingnamespacestd;voidprintdeque(constdeque<int>&d){ for(deque<int>::const_iteratorit=d.begi......
  • 【《C++ Primer 第四版》读书笔记】4.2.5-指针和const限定符
    1.指向const对象的指针1.1表现形式constdouble*ptr,constvoid*ptr1.2如何理解无法通过ptr这个指针变量去修改所指向内存区域的值,但是ptr这种指针变量可以重复赋值,指向不同的内存地址注意ptr这个指针变量赋值时,既可以赋值为const类型变量(书中所说的const对象)的地址,也......
  • exe反编译工具IDA
    《竞学实训》报告      学      院 :网络空间安全学院专      业 :学生学号:学生姓名:     二〇二三年七月           实验 MalwareAnalysis 一.实验目的掌握MalwareAnalysis的方法。二.实验......
  • day2c++学习
    学习day2C++函数分文件编写(VScode2021配置教程)_spiritLHL的博客-CSDN博客55函数-函数的分文件编写_哔哩哔哩_bilibili!运行还是有中文乱码st1:ctrl+shift+p输出createc++projectst2:在include里建新文件swap.h,里面写头文件和函数声明st3:在src里建新文件swap.cpp......
  • C++电影评分系统[2023-07-09]
    C++电影评分系统[2023-07-09]程序设计综合课程设计任务书任课教师:张启军班级:22数字媒体1、2、重、补修班时间:第20周分组:2人一组(经老师同意后可1人或3人一组)一、题目电影评分系统二、课程设计目的和要求本课程设计通过完成一个规模适当的、完整的程序,综合运用......
  • Qt/C++原创项目作品精选(祖传原创/性能凶残)
    00前言说明从事Qt开发十年有余,一开始是做C#.NET开发的,因为项目需要,转行做嵌入式linux开发,在嵌入式linux上做可视化界面开发一般首选Qt,当然现在可选的方案很多比如安卓,但是十多年前那时候板子性能低,安卓在这个上面跑的话卡成屎,当时的内存大概是128MB左右,Qt也是主要用QWidget,刚出......
  • CLR组件开发之 基于C++ dll 与C++/CLI dll与C#的数据类型对应关系
    ​  模块化组件化实现独立的功能模块是软件设计的良好习惯,一般用实现为DLL。普通的DLL对外提供接口是采用导出函数接口,如果接口数量不大,只是50个以内,这种方式很适合;如果对外接口有上百个,导出函数接口就完全破坏了软件模块化分层设计的理念,使用接口非常麻烦,此情形采用C++/CLI导......