Linux系统上C程序的编译与调试

news2024/11/24 16:49:45

gcc分布编译链接:

  • 预处理(Pre-Processing)
  • 编译(Compiling)
  • 汇编(Assembling)
  • 链接(Linking)

 

gcc -E hello.c -o hello.i #预处理
gcc -S hello.i -o hello.s #编译
gcc -c hello.s -o hello.o #汇编
gcc hello.o -o hello #链接
gcc hello.c -o hello #直接编译链接成可执行目标文件
gcc -c hello.c 或 gcc -c hello.c -o hello.o #编译生成可重定位目标文件

 main.c

 

 

 

 

 

 

计算机的基本组成

 计算机组成五大部件

 

(1) 运算器: 也叫算数逻辑单元,完成对数据的各种常规运算,如加减乘除,也包括逻辑运算,移位,比较等。
(2) 控制器: 它是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步骤有条不紊地进行操作及处理。
(3) 存储器: 存储程序和各种数据。
(4) 输入设备:把人所熟悉的信息如,图片,声音,文字,转换为计算机能够识别的信息存储起来。
(5) 输出设备:把计算机机能识别的信息转换为人能识别的信息,进行呈现。台计算机可以抽象成下图: CPU 中包含控制器和运算器, 内存就是存储器。I/O 设备就是输入设备和输出设备,如: 键盘、显示器、鼠标、硬盘、网卡。

 系统总线
(1) 数据总线: 用来在各个功能部件中间传输数据,是双向传输总线。
(2) 地址总线: 用来指出数据总线上的源数据或目的数据在主存单元的地址或 io 设备的地址。
(3) 挖制总线:由于冬个连接在数据总线和地址总线的部件都是共享这两类总线的,那么在某一时刻由谁来使用,就是控制总线负责完成的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/464981.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ThingsBoard教程更新通知,规则节点全解析系列更新

前言 自从 《ThingsBoard系列教程》 专栏上线,我收到了很多读者的认同和肯定,这是我一直坚持分享的理由之一,做有价值的事,帮助他人。前段时间因为写书和学习的原因,ThingsBoard专栏已经4个月没更新。这就导致一些读者…

【点击查看】讯飞星火正在回答···

Hi,开发者: 关于世界,你有过什么样的疑问?每一次的提问,都代表着我们在关注什么,思考什么,好奇什么。世界的每一次更新,都始于一个新的提问。 我是讯飞星火认知大模型,…

【爆肝更新】第二章:Python基础语法——保姆级,超万字!

这一章我们开始学习Python的基础语法,包含字面量,运算符,变量,字符串格式化,input函数等,这一章是为整个Python体系学习打好基础,所以一定要重视起来。 习惯看视频的同学可以看这个免费教程&am…

面试题30天打卡-day13

1、Linux 中的硬链接和软连接是什么,二者有什么区别? 在Linux系统下,有两种链接文件,一种是硬链接(Hard Link),一种是软链接,也称为符号链接(Symbolic Link)…

Linux-使用mobaxterm连接虚拟机ubuntu

一、准备工作 VMware:16.0.0 Ubuntu:18.4 MobaxTerm:链接:https://pan.baidu.com/s/1dNsahe9wO5KrWlWXtNqT0A?pwdaz39 提取码:az39 二、实操 1.检查系统是否安装ssh service sshd status 如果显示未安装&#xff0…

Notes/Domino的未来在于

大家好,才是真的好。 很多企业不谈论应用程序,让Domino的平台价值和市场前景变得有些黯淡。 毕竟作为全球第一款企业级的邮箱平台,过去大部分企业和组织都在使用Notes/Domino。而从10来年前,很多企业开始大规模地由Notes/Domino…

GPT-3.5 生成 Fabric Cypher

GPT-3.5 生成 Fabric Cypher GPT-3.5 生成 Fabric CypherFabric 架构图数据库节点设计图数据模型设计Fabric 快速开始指南下载必要资源配置 构建数据在graph-node-1节点构建股票图谱在graph-node-2节点构建高管图谱 GPT-3.5 生成 Fabric Cypher Here’s the table of contents:…

【Java】『蓝桥杯』10道编程题及答案(四)

系列文章 【Java】『蓝桥杯』10道编程题及答案(一) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/130223115 【Java】『蓝桥杯』10道编程题及答案(二) 本文链接:https://blog.csdn.net/y…

五种PDF转Word免费的软件!(附带转换效果对比!)

本文将介绍种PDF转Word免费软件,让您快速将PDF文件转换为可编辑的Word文件。 随着现代科学技术的飞速发展,PDF格式已经成为我们工作和生活中常用的文档格式之一。PDF文件的格式是固定的,不容易被篡改,因此经常被用来制作各种关键文…

1691_python学习笔记之week3_递归

全部学习汇总: GreyZhang/python_basic: My learning notes about python. (github.com) 最初接触递归的时候觉得这个有点不好理解,怎么能够有这种思维方式?这完全不同于之前自己所能够了解的那种一加一等于二的方式。相对于能够看得见的那种…

企业采购都在用什么系统管理采购流程?ERP够用了吗?

ERP(企业资源计划)和采购管理系统都是企业信息化系统的一部分,它们在企业中扮演着不同的角色。下面是它们之间的区别:区别 功能不同:ERP系统是一个综合性的企业管理系统,覆盖范围广,包括财务、人…

Android12 material you 动态配色

动态配色功能是 Material You 设计的核心 一、完整的动态配色流程包括四个步骤,如下所示: 用户通过 OEM 选择器更改壁纸或主题。AOSP 逻辑会自动从所选壁纸中提取单一源颜色。将源颜色扩展到颜色API,AOSP 将单一源颜色扩展为 5 ,…

JS实现拼音(字母)匹配(搜索)汉字(姓名)

这就是个模糊查询,我们平常做的都是直接输入汉字去把对应的值过滤出来,但我还真是第一次通过拼音去查询(当然不只是拼音,汉字也是可以的),以前还真没注意这个。唉,这可咋搞,我怎么知…

python:面向对象编程(知识点+代码)

文章目录 一、类和对象1、对象属性的默认值设置2、对象属性的添加、修改与删除3 、类属性 二、类的继承 引言:面向对象编程时一门编程语言重要的功能,我们之前所学的 c,java都为面向对象编程语言,这里给大家拓展一下,…

getaddrinfo调用crash 的debug过程

前两天,产线报一例crash问题。拿到core文件后,栈展开信息: (gdb) bt #0 0x00007f64a3651aff in raise () from /lib64/libc.so.6 #1 0x00007f64a3624ea5 in abort () from /lib64/libc.so.6 #2 0x00007f64a3694097 in __libc_message () …

【论文阅读-ICSE2023】预训练目标对代码相关任务的影响

目录 简介有哪些预训练预训练的影响回答RQ1回答RQ2 总结 简介 Title: Automating Code-Related Tasks Through Transformers: The Impact of Pre-training1 Author: Rosalia Tufano, Luca Pascarella, Gabriele Bavota Published: ICSE2023 Abstract: 尽管现在很多研究能够证…

OSS的STS模式授权案例

OSS的STS模式授权 某云提供的权限管理系统主要包含两部分,RAM(资源访问管理)和STS(安全认证服务),以满足不暴露主账号AK\SK的情况下安全的授权别人访问的需求,STS提供的是一种临时访问授权。通…

XSS知识总结

XSS基础 跨站脚本(英语:Cross-site scripting,通常简称为:XSS)是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这…

楼层滚动效果(超级简单,易懂)

系列文章目录 文章目录 系列文章目录一、楼层滚动效果图如下1. 下图是纯Css实现的楼层滚动2.通过Js优化后的楼层滚动如下图(🌹🌹) 二、楼层滚动(Css实现)1.滚动原理2.代码如下 三、楼层滚动(JsCss优化后的楼层滚动&…

FreeRTOS学习笔记(二)——内核机制

文章目录 0x01 临界段Cortex-M内核快速关中断指令关中断开中断进入和退出临界段的宏进入临界段退出临界段临界段代码应用 0x02 空闲任务与阻塞延时的实现空闲任务的创建实现阻塞延时阻塞等待总结 0x03 多优先级通用方法:taskRECORD_READY_PRIORITY()taskSELECT_HIGH…