1、计算机基础与编程环境
1.1 在Linux系统终端中使用mkdir、cp、rm、mv等命令新建、复制、删除、移动文件或目录
在Linux系统终端中,可以使用一些常用的命令来新建、复制、删除、移动文件或目录。以下是这些命令的用法:
- mkdir:创建一个新的目录
语法:mkdir [选项] 目录名
示例:mkdir testdir
- cp:复制文件或目录
语法:cp [选项] 源文件/目录 目标文件/目录
示例:cp file1.txt file2.txt(复制文件) cp -r dir1 dir2(复制目录)
- rm:删除文件或目录
语法:rm [选项] 文件/目录
示例:rm file.txt(删除文件) rm -r testdir(删除目录及其子目录和文件)
- mv:移动或重命名文件或目录
语法:mv [选项] 源文件/目录 目标文件/目录
示例:mv file1.txt file2.txt(重命名文件) mv file.txt testdir/(移动文件到指定目录) mv dir1 dir2(重命名或移动目录)
以上是这些命令的基本用法,更多选项和用法可以通过在终端中输入相应的命令加上-h或--help选项来查看帮助文档。
1.2 在Linux系统终端中使用cd、pwd、ls等命令更改、显示目录路径和查看目录中的文件
在Linux系统终端中,可以使用一些常用的命令来更改、显示目录路径和查看目录中的文件。以下是这些命令的用法:
- cd:更改当前目录
语法:cd 目录路径
示例:cd /home/user(进入用户目录) cd ..(返回上级目录) cd -(返回上一个目录)
- pwd:显示当前目录路径
语法:pwd
示例:pwd(显示当前目录路径)
- ls:列出目录中的文件
语法:ls [选项] [目录]
示例:ls(列出当前目录中的文件) ls /home/user(列出指定目录中的文件) ls -l(列出文件详细信息) ls -a(列出所有文件,包括隐藏文件)
1.3 在Linux系统下使用Gedit、Vim或Emacs等文本编辑工具编写代码
在Linux系统下,可以使用一些常用的文本编辑器工具来编写代码,例如 Gedit、Vim 和 Emacs。以下是这些工具的简单介绍:
- Gedit:Gedit 是 Linux 系统中的一个简单易用的文本编辑器,可用于编写各种类型的文件,包括代码文件。它提供了基本的文本编辑功能,如语法高亮、自动缩进和代码折叠等。
在 Ubuntu 系统中,可以使用以下命令安装 Gedit:
sudo apt-get update sudo apt-get install gedit
- Vim:Vim 是一个强大的文本编辑器,可以用于编写各种类型的文件,包括代码文件。它支持多种编辑模式,并提供了一些高级功能,如宏、自动完成和插件等。
在 Ubuntu 系统中,可以使用以下命令安装 Vim:
sudo apt-get update sudo apt-get install vim
- Emacs:Emacs 是一个功能强大的文本编辑器,可用于编写各种类型的文件,包括代码文件。它提供了多种编辑模式和高级功能,如多窗口编辑、代码折叠和插件等。
在 Ubuntu 系统中,可以使用以下命令安装 Emacs:
sudo apt-get update sudo apt-get install emacs
以上是这些工具的简单介绍,它们都可以用于编写代码文件,选择合适的工具根据自己的喜好和需求即可。
1.4 熟悉g++、gcc等编译器以及优化、数学库等常见编译选项
1.g++:g++ 是 GNU C++ 编译器,可用于编译 C++ 程序。它基于 gcc,因此也支持大多数 gcc 的编译选项。
常见的编译选项包括:
- -c:只编译不链接,生成目标文件;
- -o:指定输出文件名;
- -g:生成调试信息;
- -Wall:开启所有警告信息;
- -O:优化选项,包括 -O1、-O2 和 -O3 等级别,级别越高优化越强;
- -I:指定头文件路径;
- -L:指定库文件路径;
- -l:链接库文件。
2.gcc:gcc 是 GNU C 编译器,可用于编译 C 程序。它也支持大多数 g++ 的编译选项,但不支持一些 C++ 特有的选项。
常见的编译选项与 g++ 类似,包括:
- -c:只编译不链接,生成目标文件;
- -o:指定输出文件名;
- -g:生成调试信息;
- -Wall:开启所有警告信息;
- -O:优化选项,包括 -O1、-O2 和 -O3 等级别,级别越高优化越强;
- -I:指定头文件路径;
- -L:指定库文件路径;
- -l:链接库文件。
除了编译选项,还有一些常用的数学库和优化选项可用于编译 C++ 或 C 程序:
- 数学库:常用的数学库包括 math.h 和 cmath。使用这些库可以方便地进行各种数学运算,如三角函数、指数函数、对数函数、幂函数等。
-
优化选项:编译选项中的 -O 选项可以用于优化程序的性能和大小。除此之外,还有一些优化选项可用于进一步优化程序,例如:
-
-funroll-loops:展开循环,减少循环开销;
- -finline-functions:内联函数,减少函数调用开销;
- -fomit-frame-pointer:省略帧指针,减少栈空间开销。
以上是一些常见的编译器选项,使用不同的选项可以达到不同的编译效果。具体使用时需要根据程序需求和系统环境进行选择。
1.5 在Linux系统终端中运行程序,并使用time命令查看程序用时
在 Linux 系统中,可以使用终端来运行程序,并使用 time 命令来查看程序的用时。time 命令可以用于测量程序的运行时间、CPU 时间和系统资源使用情况。
以下是在 Linux 终端中运行程序并使用 time 命令查看程序用时的步骤:
-
打开终端并进入程序所在的目录。
-
编译程序。使用编译器(如 g++ 或 gcc)将源代码编译成可执行文件。例如,如果程序的源代码文件名为 main.cpp,可以使用以下命令编译程序:
-
g++ -o program main.cpp
这将生成一个名为 program 的可执行文件。
- 运行程序。使用以下命令运行程序:
Text Only | |
---|---|
1 |
|
- 查看程序用时。在终端中输入以下命令:
Text Only | |
---|---|
1 |
|
这将运行程序,并在程序结束后输出程序的运行时间、CPU 时间和系统资源使用情况。
输出结果中的三个时间分别为:
- 实际时间(real):程序从开始运行到结束的实际时间。
- 用户 CPU 时间(user):程序在用户空间运行的 CPU 时间。
- 系统 CPU 时间(sys):程序在内核空间运行的 CPU 时间。
输出结果中还包括程序的退出状态码和最大内存使用量等信息。
注意,在使用 time 命令时,命令名和程序名之间需要加上空格。另外,time 命令并不是 Linux 系统默认安装的命令,如果系统中没有安装 time 命令,需要先安装它才能使用。在大多数 Linux 发行版中,time 命令通常包含在 GNU Coreutils 软件包中。可以使用以下命令来安装 GNU Coreutils:
C++ | |
---|---|
1 |
|
或者,如果使用的是其他 Linux 发行版,可以根据具体情况使用相应的软件包管理器来安装 Coreutils。
1.6 了解调式工具gdb及其break、display、continue、step等命令
GDB是一款常用的调试工具,可以用于跟踪程序的运行过程,分析程序出现的问题。以下是关于GDB及其一些常用命令的介绍:
1.基本用法
使用GDB进行调试时,需要在编译程序时添加-g选项,以便生成调试信息。例如,在使用g++编译C++程序时,可以使用以下命令:
Text Only | |
---|---|
1 |
|
这将生成一个名为program的可执行文件,并在其中嵌入调试信息。
要使用GDB调试程序,可以在终端中运行以下命令:
Text Only | |
---|---|
1 |
|
这将启动GDB,并在GDB提示符下等待用户输入命令。可以使用quit命令退出GDB。
2.设置断点
设置断点是GDB中最常用的命令之一。断点是指在程序中某个位置暂停程序的执行,以便进行调试。使用break命令可以在程序中设置断点。例如,要在程序的第10行设置断点,可以使用以下命令:
Text Only | |
---|---|
1 |
|
这将在程序的第10行设置一个断点。在程序执行到该位置时,程序将停止执行,GDB将显示出当前的执行状态。
3.显示变量值
使用display命令可以在调试过程中显示变量的值。例如,要显示一个名为x的变量的值,可以使用以下命令:
Text Only | |
---|---|
1 |
|
这将在每次停止程序时显示变量x的值。
4.继续执行程序
使用continue命令可以让程序继续执行。例如,在程序停止执行时,可以使用以下命令继续执行程序:
Text Only | |
---|---|
1 |
|
这将让程序继续执行直到下一个断点或程序结束。
5.单步执行
使用step命令可以单步执行程序。例如,在程序停止执行时,可以使用以下命令单步执行程序:
Text Only | |
---|---|
1 |
|
这将让程序执行一条语句并停止,GDB将显示出当前的执行状态。
6.其他命令
除了以上命令,GDB还提供了许多其他有用的命令,例如:
- run:启动程序并开始调试。
- next:执行当前行并停止在下一行,但是不会进入函数内部。
- finish:执行当前函数直到返回,并停止在函数调用的下一行。
- watch:设置一个监视点,当监视的变量的值发生改变时,程序会停止执行。
总之,GDB是一个非常强大的调试工具,提供了许多有用的命令,可以帮助开发者快速定位程序中的问题。在实际开发中,熟练掌握GDB的使用方法是非常有必要的。
本页面的全部内容在 小熊老师 - 莆田青少年编程俱乐部 0594codes.cn 协议之条款下提供,附加条款亦可能应用