type
status
summary
date
slug
tags
category
icon
password
make & makefile
一个标准的makefile:
编写一个进度条程序:
先编写一个makefile以方便编译:
然后在创建一个processBar.h的头文件:
声明一个进度条文件,在peocessBar.c中实现这个函数
在main.c文件中使用这个函数
prcessBar.c
在开发过程中:程序分为debug版本还有release版本;
在真实开发过程中最常用的其实就是debug版本:
那么在编译的时候怎么能将文件编译为debug版本呢:
其实就是在makefile的时候gcc后面加一个-g选项然后才能被gdb所编译。
调试(gdb):
首先如果你想要调试一段代码,那个代码首先必须要有debug信息,也就是在编译的时候g++时在后面增加一个-g选项:
然后:gdb mycode
这样就能进入到gdb调试阶段
进入到这个情况没有报错那就是正确的,输入q退出
l 0打印出十行代码,然后声明都不用输入直接回车,会再显示出10行代码
那说到底gdb是一个调试工具:b(break的缩写打断点)所以就是b 10
就是在第十行打一个断点的意思
info b就是查看所有断点信息的命令
那如何删除断点呢?
d(delete) d 19就是删除十九行的断点的命令
n(next):运行到下一个断点,gdb会自动记录下一个断点,所以下一次只需要按回车健就能直接跳转到下一个
但是其实我们在使用调试功能的时候其实最常用的功能是监视,那在xshell上如何实现监视的效果呢
p 变量名:就能显示出这个变量的值
但是在继续进行断点的时候,这些信息就操作就太麻烦了,这个时候就需要使用display + 变量名,这样就会在每一此断点都显示一次这些变量的实时信息
如何取消display: undisplay + 编号
disable:暂时关闭某个断点
enable:恢复刚刚关闭的断点
这个后面都是加行号
冯诺依曼体系结构
当前计算机结构都是遵循冯诺依曼体系结构的
存储器:就是内存,而我们知晓的像磁盘和外部硬盘都只能叫外存
输入设备:人和计算机和其他计算设备传输数据,摄像头,键盘,话筒,磁盘,网卡,鼠标
输出设备:显示器,播放器
运算器:进行计算任务(算数运算和逻辑运算)
控制器:对我们的计算硬件流程进行控制
总的来说其实输入输出设备就是外设
运算器和控制器就是中央处理器cpu
然后每一个单元都得用”线“连接起来
这个线就是系统总线和io总线
:
说了这么多硬件,再谈谈软件:
操作系统:
其实所有的硬件都只是提供了基本的功能但是需要”人’来使用和统筹,就像键盘一样有人点他才能进行输入工作,而操作系统其实就是哪个统筹所有硬件的软件,是一款进行管理的软件
要认识操作系统我们需要了解到操作系统
是什么?
为什么?
怎么做?
任何的计算机都包含一个基本的程序集合,被称为操作系统(os),笼统的理解:
操作系统包含内核(进程管理,内存管理,文件管理,和驱动管理等)
还有一些其他程序(;例如函数库,和shell程序等)
设计操作系统的目的:
1,与硬件交互,管理所有的软硬件资源为
2,为应用程序提供一个良好的执行环境
操作系统的定位是
在整个计算机软硬件架构中,操作系统的定位就是一款高管理的软件
操作系统通过管理好底 层的软硬件资源来给用户(软件)提供一个良好的执行环境
- Author:PytC
- URL:https://PytC.fun//article/12849b4c-fd33-80f3-ab59-ec19cb54413d
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!