linux入门篇——gcc的基本用法

article/2025/9/18 19:08:50

1 翻译的四个过程

1.预处理
2.编译
3.汇编
4.链接

2 详细过程

示例:源文件test.c
在这里插入图片描述

1 预处理:进行宏替换

执行命令:gcc -E test.c -o test.i
-E:开始进行翻译,完成预处理之后停下
生成已被预处理的临时文件test.i
在这里插入图片描述
预处理功能:宏定义,文件包含,条件编译,去注释

2 编译:生成汇编

执行命令:gcc -S test.c -o test.s
-S:开始进行程序翻译,完成编译之后停下
将c语言转换成汇编语言
在这里插入图片描述

3 汇编:汇编语言变成可重定向二进制文件

执行命令:gcc -c test.s -o test.o
-c:翻译程序,完成汇编就停下
生成二进制文件,不能直接被执行
在这里插入图片描述

4 链接:生成可执行文件或库文件

执行命令:gcc test.o -o test 生成可执行文件test
在这里插入图片描述

5 执行可执行文件

执行命令:./test
在这里插入图片描述

6 源程序直接生成可执行文件
//1.
gcc test.c -o test
//2.
gcc -o test test.c

http://chatgpt.dhexx.cn/article/9PWb2nw3.shtml

相关文章

Linux学习教程 Linux入门教程(超全面 超详细)收藏这一篇就够了

Linux是什么? linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发能力已经得到业界的认可,目前大多数企业级应用甚至是集群项目都部署运行在linux操作系统之上,很多软件公司考虑到开发成本都首选linux,在中…

Linux入门到精通:第 1 关——创建/删除用户组(第二章:Linux之用户管理)

第 1 关——创建/删除用户组 任务描述相关知识 Linux创建用户组命令案例演示一案例演示二Linux删除用户组命令案例演示一 编程要求评测说明 任务描述 恭喜你已经完成了Linux之用户管理的实训,接下来让我们一起来学习Linux中用户组的管理,本关主要讲解…

Linux入门及进阶学习推荐书籍

如何学习Linux 更多资料请加Linux后台服务架构技术群: 783153655 获取 在现在的生活,生产,研究等领域,Linux已经无所不在,从我们使用的手机,车载设备,到服务器,桌面电脑等&#xf…

【Linux入门指北】第一篇 初识Linux

目录 前言一、Linux操作系统的发展历史1、Linux操作系统的诞生2、Linux操作系统的发展1.自由软件基金会(FSF)2.GPL协议3.GUN工程 二、Linux的不同发行版本1.红旗Linux2.Red Hat Linux3.Ubuntu Linux4.openSUSE Linux5.Debian Linux 三、Linux的版本号四、…

嵌入式 Linux 入门 环境篇(三、开发板和 PC 的网络互通)

嵌入式 Linux入门 环境篇第三课,开发板与PC的网络配置, 我们要实现 windows、ubuntu 和开发板三者的互通。 ...... by 矜辰所致前言 在环境篇前面的文章我们通过终端工具使用串口连接上了开发板,同时也从头开始安装好了一个 ubuntu 虚拟机…

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)

嵌入式 Linux入门 环境篇第四课,开发工具软件的安装与说明 ...... by 矜辰所致前言 前面的环境篇我们把开发的基本环境安装好了:Ubuntu虚拟机,网络配置。 为了从 0 开始说明,还特意买了一台新电脑 ! 就问是不是不…

Linux学习教程,Linux入门教程(超详细)

http://c.biancheng.net/linux_tutorial/ Linux学习教程,Linux入门教程(超详细) 《Linux就该这么学》是一本基于最新Linux系统编写的入门必读书籍,内容面向零基础读者,由浅入深渐进式教学,销量保持国内第一…

嵌入式 Linux 入门 环境篇(一、开发板初体验)

嵌入式 Linux入门 环境篇第一课,初次体验开发板。目录 前言一、开发板的体验流程二、开发板与 PC 连接2.1 终端软件SecureCRTMobaXterm 2.2 观察启动 结语 前言 我们学习嵌入式 Linux ,入门的文章已经更新了九篇了,还没有碰过我们的开发板&a…

Linux入门篇一(从小白到精通,超详细)

Linux入门篇一 一:Linux 系统介绍1.操作系统介绍2.Linux 和 Windows 的区别3.Linux 内核版本和发行版本3.1Linux 内核版本3.2Linux常见发行版本 4.终端介绍二:Linux系统目录结构介绍1.目录结构2.常见目录介绍3.绝对路径与相对路径4、家目录的概念 二&…

Unix/Linux入门篇

Unix/Linux入门篇 前言一、Unix/Linux操作系统介绍1.1 操作系统的作用1.1.1 操作系统的目标1.1.2 操作系统的地位 1.2 Unix/Linux操作系统介绍1.2.1 Unix家族1.2.2 Linux家族1.2.3 Linux的两类用户1.2.4 Linux的远亲1.2.5 Linux和Unix的联系1.2.6 Linux内核及发行版介绍1) Linu…

Linux 入门基本操作

目录 一、Linux环境的安装 1.1常见的三种Linux环境安装 1.2云服务器的操作 1.3XShell 1.4 Linux下新建与删除用户 二、Linux的基本指令和操作 2.1初始Linux必备的三剑客 ①pwd指令 ②ls指令 ③cd指令 2.2理解文件 三、指令 3.1 ls指令 ①ls -l&&ls -d ②l…

Linux入门

Linux 一、Linux的安装 Linux虽然是1个计算机,但是我们一般不会直接在系统界面操作它,我们会把它当做远程服务器,通过远程连接工具进行访问。 二、什么是Linux Linux是一种自由和开放源码的操作系统。因为开源,有众多爱好者共…

Linux系统入门基础篇

目录 一、Linux概览 二、Linux安装 三、Linux文件管理 四、Linux基本命令 五、Linux高级命令 六、vim编辑器 七、用户和用户组管理 八、权限管理 一、Linux概览 Linux是什么? Linux和我们常见的Windows一样,都是操作系统。 Linux能做什么&…

Linux基础入门(详细版)

一、Linux入门概述 1.1 概述 Linux内核最初只是由芬兰人林纳斯托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和…

Linux入门级教程(一)。

此文针对VMware和Linux系统的安装与配置进行了较为简单的阐述,目的是为了让一些刚刚接触的朋友对此有一个大概的认知,但可能不够详尽,欢迎各位朋友在评论区进行交流。 1、认识和了解Linux Linux是开源、稳定、漏洞少,主要定位是服…

嵌入式 Linux 入门(一、Linux 基本介绍及文件结构)

嵌入式 Linux入 门第一课,嵌入式 linux 基础说明以及 Linux 文件结构。目录 前言一、嵌入式 Linux 基础1.1 Linux 简介1.2 Linux 与 windows1.3 Linux 版本选择1.4 何为嵌入式Linux?1.5 STM32为什么不能跑 Linux?1.6 什么是 MMU? …

仿支付宝蚂蚁森林效果

CustomWaterView 项目地址:xiaohaibin/CustomWaterView 简介::star: 仿支付宝蚂蚁森林效果 更多:作者 提 Bug 标签: 实现原理文章:https://www.jianshu.com/p/d3de46af06ad 支付宝蚂蚁森林效果:…

怎么用linux给苹果手机降级,如何查询iOS可降级版本?苹果iOS随意降级工具或即将到来...

有不少小伙伴在为 iPhone 升级新系统之后,又发现一些问题从而想要降级,但往往很遗憾的是,苹果官方已经关闭了降级验证的通道,无法成功进行降级。 如何查询当前设备可降级的 iOS 版本?有三种方法: 1.将 iOS …

如何安装IOS11系统

如何安装IOS 11系统 在WWDC2017大会上发布了炫酷的IOS 11系统,那如何亲手体验呢?这里分为几个步骤简单介绍下如何安装IOS 11系统: 1、下载文件 这里需要下载2个东西,一个IOS 11系统文件,一个是描述文件,都可以从苹果的开发者官网下载到,不过需要开发者账号。没有账号…

iOS11 持续定位

由于iOS11更新了定位服务设置:可选择使用使用app期间定位,虽然这种做替用户免去担忧,但给app使用可能造成了影响,开发者就要调整自己的应用程序了。本文只讲述在iOS11进行持续定位需要注意的事项,怎么去前台后台持续定位(使用Core…