作者:被抛弃的微博名 | 来源:互联网 | 2023-02-03 16:34
一.知识点归纳第一章引言1.本书目标编程背景知识详细介绍了程序开发步骤,包括汇报器、编译器、链接器等。动态数据结构的应用字符串标记化、搜索树节点、插入和删除树节点等。进程概念和进程
文章目录[隐藏]
- 一.知识点归纳
- 第一章 引言
- 1.本书目标
- 2.Unix
- 3.Linux
- 4.Unix/Linux命令
- 第二章 编程背景
- 1. 文本编辑器
- 2.程序开发
- 3.C语言程序与汇编代码的链接
- 4.链接库
- 5.makefile
- 5.GDB调试工具
- 6.C语言结构体
- 二. 问题与解决思路
- 三. 实践内容与截图,代码链接
- 虚拟机以及Ubuntu的安装与配置
- 在终端运行代码
一.知识点归纳
第一章 引言
1.本书目标
- 编程背景知识
- 详细介绍了程序开发步骤,包括汇报器、编译器、链接器等。
- 动态数据结构的应用
- 进程概念和进程管理
- 并发编程
- 定时器和定时功能
- 信号、信号处理和进程间通信
- 文件系统
- 存储设备、Unix/Linux内核中的文件系统支持、文件操作的系统调用、库I/O函数等。
- TCP/IP和网络编程
- TCP/IP协议、套接字API、UDP和TCP套接字编程,以及网络计算中的服务器-客户机模型。
2.Unix
3.Linux
4.Unix/Linux命令
-
Unix/Linux命令
-
ls:ls dirname:列出CWD或目录的内容。
-
cd dirname:更改目录。
-
pwd:打印CWD的绝对路径名。
-
touch filename:更改文件名时间戳(如果文件不存在,则创建文件)。
-
cat filename:显示文件内容。
-
cp src dest:复制文件。
-
mv src dest:移动或重命名文件。
-
mkdir dirname:创建目录。
-
rmdir dirname:移除(空)目录。
-
rm filename:移除或删除文件。
-
ln oldfile newfile:在文件之间创建链接。
-
find:搜索文件。
-
grep:搜索文件中包含模式的行。
-
ssh:登录到远程主机。
-
gzip filename:将文件压缩为.gz文件。
-
gunzip file.gz:解压.gz文件。
-
tar -zcvf file.tgz .:从当前目录创建tar文件。
-
tar -zxvf file.tgz .:从.tgz文件中解压文件。
-
man:显示在线手册页。
-
zip file.zip filenames:将文件压缩为.zip文件。
-
unzip file.zip:解压.zip文件。ls:ls dirname:列出CWD或目录的内容。
-
cd dirname:更改目录。
-
pwd:打印CWD的绝对路径名。
-
touch filename:更改文件名时间戳(如果文件不存在,则创建文件)。
-
cat filename:显示文件内容。
-
cp src dest:复制文件。
-
mv src dest:移动或重命名文件。
-
mkdir dirname:创建目录。
-
rmdir dirname:移除(空)目录。
-
rm filename:移除或删除文件。
-
ln oldfile newfile:在文件之间创建链接。
-
find:搜索文件。
-
grep:搜索文件中包含模式的行。
-
ssh:登录到远程主机。
-
gzip filename:将文件压缩为.gz文件。
-
gunzip file.gz:解压.gz文件。
-
tar -zcvf file.tgz .:从当前目录创建tar文件。
-
tar -zxvf file.tgz .:从.tgz文件中解压文件。
-
man:显示在线手册页。
-
zip file.zip filenames:将文件压缩为.zip文件。
-
unzip file.zip:解压.zip文件。
第二章 编程背景
1. 文本编辑器
-
vim
-
命令模式:用于输入命令
- h:将光标向左移动一个字符
- l:将光标向右移动一个字符
- j:将光标向下移动一行
- k:将光标向上移动一行
-
插入模式:用于输入和编辑文本
-
末行模式:用于保存文件并退出
- :w:写入(保存)文件
- :q:退出vim
- :wq:保存并退出
- :q!:不保存更改,强制退出
-
WYSIWYG
- Ctrl+C:中止或退出
- Ctrl+K:删除行到缓冲区
- Ctrl+Y:从缓冲区内容中复制或粘贴
- Ctrl+S:保存已编辑文本等
-
gedit
-
emacs
2.程序开发
-
创建源文件
-
用gcc把源文件转换成二进制可执行文件
-
静态与动态链接库
-
可执行文件格式
- 二进制可执行平面文件
- a.out 可执行文件
- ELF可执行文件
-
a.out文件
- 文件头
- tsize、dsize、bsize、total_size
- 代码段
- 数据段
- 符号表
-
程序执行过程
- 读取a.out文件头,以确定所需的总内存大小。
- sh从总大小中分配一个内存区给执行映像。
- sh放弃放弃旧映像,开始执行新映像。
- 执行从crt0.o开始,调用main()。
-
程序终止
3.C语言程序与汇编代码的链接
- 用汇编代码编程
- 用汇编语言实现函数
- 从汇编中调用C函数
4.链接库
5.makefile
5.GDB调试工具
- GDB调试工具是一个交互式调试工具,可以调试用C、C++和其他几种语言编写的程序。
- GDB是一个功能强大的调试工具,使用非常简单,但应该注意,所有调试工具只能提供有限的帮助,在某些情况下用处不大,所以程序开发的最佳方法是仔细设计程序的算法,然后根据算法编写程序代码。
6.C语言结构体
二. 问题与解决思路
问题1:所下载的Ubuntu20.04不是光盘,无法继续安装
解决方法:网上搜索教程,找到Ubuntu20.04的光盘
问题2:安装完显示的是英文版
解决方法:根据汉化教程,实现汉化配置
三. 实践内容与截图,代码链接
虚拟机以及Ubuntu的安装与配置
在终端运行代码