Day1
- 编辑环境的介绍
- Linux常用命令
- Vim编辑器
- gcc
1. 编辑环境的介绍
装的软件:
虚拟机 操作系统(乌班图)
虚拟机(VMware Workstation)相当于PC机
Linux操作系统:devc++(以前学习c时)
为什么要用linux操作系统?
①可以对软硬件进行裁剪;
②linux上有很多库,都是开源的,而且想要下载一些库的话,可以直接用一些指令进行下载,Dev-C++、Visual 6.0等是没有这个功能的。
嵌入式是什么:以计算机技术为基础,软硬件可裁剪(软件去控制硬件)
裁剪:修改
根据什么去修改:通过用户的需求去修改
软件的裁剪:linuxOS进行裁剪
虚拟机:虚拟出来的一台pc机
使用linuxOS的好处
①在虚拟机上操作不会影响主机,如果操作错了,也不会影响主机;
②如果将虚拟机弄坏了,再装一次操作系统就可以了;
③90%的病毒在虚拟机上运行是不会影响主机的,最多将乌班图弄坏,再装一个就可以解决了。当然,十分强烈的病毒感染主机也是有可能的。
一般做嵌入式开发,基本上都是linux操作系统,唯一的区别是我们用的乌班图这个操作系统,别人用红帽等等,可能用的其他的操作系统,但操作指令是一样的。
2. 目录结构
Windows的目录结构:盘符之分、倒置的森林
Linux的目录结构:一颗倒置的树
注意:
1、home和HOME 区别
home之下就是用户,之下才是我们的家目录
HOME表示家目录
- linux目录:从/(根目录开始),一切文件都在他之下
- 以根目录开始的路径:绝对路径
- 家目录(主目录/工作目录/~/HOME),普通用户只能在家目录之下去操作,家目录之上不可以进行操作。如果需要操作家目录之上的,需要将普通用户转换成超级用户(sudo su)
- 操作:增删改查
- Linux:一切皆文件
3. Linux常用命令
命令格式:
命令 [选项] [参数]
注意:
- []的可以省略 ,选项:功能 参数:操作的对象
- 以上三个要用空格隔开
3、命令都是小写
清屏:ctrl+l
在终端输入clear
补全键:tab键
上下箭头:查找输入的历史命令
我们在哪里输入命令:
终端:
点击 终端
Ctrl + alt +t
打开一个和当前路径相同的终端:ctrl+shift+n
- ls:显示当前路径下的内容
ls -a:显示当前路径下的所有文件(包括隐藏文件))
以.开头的文件:隐藏文件
.代表当前目录
..代表上一级目录
Ls -l:显示当前路径下的文件的详细信息(属性)
选项可以配合去用
2. pwd:显示当前所在的绝对路径(以根目录开始的路径)
3. Cd 路径:切换路径
Cd : 直接跳转至家目录
Cd ..:跳转至上一级目录
Cd -:跳转至上一次操作的时候的路径
4. touch 文件/文件路径 一次可以创建多个
当前路径下22111创建2.c
5. Mkdir 文件夹名/文件夹路径 一次可以创建多个
当前路径下22111创建shang文件目录
6. rm 文件/文件路径 一次可以删除多个
7. rm -r 删除文件/文件夹(-r 递归)
-i 每次删除之前会提示
rm -ri
8. rmdir 删除空文件夹
增删改查
9. cp 源(文件/-r文件夹) 目标文件 复制
将1.c的内容复制到11.c里
不一定是当前路径
10.
移动:Mv 源文件 目标文件
改名字:mv 原文件名 修改的文件名
4. Vim编辑器
如果文件存在,直接打开进行编辑
如果文件不存在,创建文件并且打开编辑
三种模式:
- 刚进入:命令行模式
- 插入模式:打代码
- 底行模式:光标在底下闪
命令行模式到插入模式:i
插入模式退出到命令行模式:esc
命令行模式到底行模式;shift+ :
底行模式退出到命令行模式:esc
底行模式:
w:保存
q:退出
q!:强制退出
wq:保存并退出
Wq!:保存并强制退出
Set nu:设置行号
Set nonu:取消行号
命令行模式:
yy:复制
p:粘贴(从光标的下一行去粘贴)
nyy:复制n行
dd:删除(剪切)
Ndd:删除n行(剪切n行)
u:撤回
Ctrl+r:反撤销
5. Gcc
Vim hello.c
gcc hello.c :生成一个名为a.out的可执行文件
如果直接这样去编译多个文件,gcc直接去编译:会覆盖之前生成的a.out
要给生成的可执行文件起名字:(-o参数)
gcc hello.c -o hello(自己起的名字)
怎样去执行可执行文件:./可执行文件名
Int main(void)
{
Return 0;
}
Int:返回值
Void表示没有参数
main()
{
}
省略的是int类型的返回值
Add(int,int)
作业:
- 记笔记
- 完成作业
Day2
1. 计算机的基本组成
输入输出设备(键盘、鼠标)
CPU(控制器,运算器、寄存器)
存储器
程序
存储器:内存和外存
内存:工作存储器,容量较小,读写速度快,断电数据丢失
外存:容量大,读写速度慢,断电数据不会丢失(c盘、d盘)
寄存器:容量小,cpu内部的存储器,读写速度非常快
2. 什么是程序
程序:计算机能够识别的一组有序的指令
指令:计算机能够识别的操作
Hello.c和a.out(a.out是程序)
3. 程序的设计步骤
Vim(编辑)->gcc(编译)->./a.out(执行、调试)
4. 计算机的数据表示(进制转换)
4.1 非数值数据:
字符 图片 声音 视频
‘a’ ‘z’
字符串
“shang”
字符在计算中是以ascii码去存储的
一个字节占8个bit
‘A’用65表示
‘a’用97表示
大写转小写只需要+32即可
printf(“格式控制串”,输出表);
格式控制串:原样输出的内容+格式化符
输出表:要输出的内容
%d表示以整型输出
%f以浮点型进行输出
%c以字符型进行输出
示例:
Int a = 65;
printf(“a= %d\n”,a);
a = 65
4.2 数值数据
4.2.1 数值数据
十进制(逢十进一)(0-9)
0 1 2 3 4 5 6 7 8 9 9+1= 10
二进制(逢二进一)(0-1)
0 0+1=1 1+1= 10
八进制(逢八进一)(0-7)
7 + 1 = 10
十六进制(逢十六进一)(0-9 a(A)-f(F)(15))
F+1 = 10
为了区分十进制、八进制、十六进制
一般在八进制之前加上0
在十六进制之前加0x (a-f) 0X (A-F)
67(十进制) 067(八进制) 0x67(十六进制)
4.2.2 进制转换
将其他进制转换为十进制:
1、二进制转换为十进制: 1101:1*2^0 + 0*2^1 + 1*2^2+ 1*