Linux的初学者写代码基本步骤(gcc和gdb)

   日期:2020-11-02     浏览:95    评论:0    
核心提示:Linux的gcc基本命令一、用vim写C语言(C++)(1)一般模式(2)编辑模式一、用vim写C语言(C++)首先介绍一下Vim命令。早期的Linux使用vi作为系统默认的编辑器,而Vim是vi的升级版,主要区别是Vim可显示颜色,便于用户编辑,命令的使用差别不大。Vim有3种模式:一般模式、编辑模式和命令模式。(1)一般模式一般模式就是在终端输入vim命令后进入的界面。该模式只能移动光标位置。常用命令:按键作用 shift + 6 移动到本行行首 s

Linux的写代码基本步骤

    • 一、文本编辑工具Vim的基本使用
      • (1)一般模式
      • (2)编辑模式
      • (3)命令模式
    • 二、编写C语言源文件
    • 三、生成可执行文件并执行
      • (1)生成可执行文件原理
      • (2)基本生成方法
        • ① 用gcc直接编译执行
        • ② 用make命令实现
          • 1、编写makefile文件
          • 2、makefile的基本格式
          • 3、使用make命令
          • 4、执行可执行文件
        • ③用gdb调试器运行
          • 1、启动gdb调试器
          • 2、运行可执行文件

一、文本编辑工具Vim的基本使用

第一步是用Vim写C语言代码。所以需要介绍一下Vim命令。早期的Linux使用vi作为系统默认的编辑器,而Vim是vi的升级版,主要区别是Vim可显示颜色,便于用户编辑,命令的使用差别不大。
Vim有3种模式:一般模式、编辑模式和命令模式。

(1)一般模式

一般模式就是在终端输入vim命令后进入的界面。该模式只能移动光标位置和字符或字符串的复制、删除和粘贴等操作。
① 移动光标:

按键 作用
shift + 6 移动到本行行首
shift + 4 移动到本行行尾
g + g 移动到首行
G 移动到尾行

② 删除、复制和粘贴:

按键 作用
y + y 复制光标所在行
d + d 删除/剪切光标所在的那一行
p 从光标所在行开始,向下粘贴已经复制或者粘贴的内容

注:字母的大小写一般起到的命令作用都是不同的。

(2)编辑模式

编辑模式顾名思义就是修改文本下的模式。从编辑模式回到一般模式,只需按 Esc 键即可。
进入编辑模式:

按键 作用
i 在当前字符前插入
I 在光标所在行的行首插入
a 在当前字符后插入
A 在光标所在行的行尾插入
o 在当前行的下一行插入新的一行
O 在当前行的上一行插入新的一行

(3)命令模式

命令模式可以搜索某个字符或者字符串,也可以实现保存、替换和退出。在一般模式下,输入:或者/即可进入命令模式。
命令模式:

按键 作用
/ word 或者 :word 在光标之后查找一个字符串word,按 n后继续搜索
:w 保存文本
:q 退出Vim
:wq 保存并退出
:w! 强制保存,在root用户下,即使文本只读也可以完成保存
:q! 强制退出,所有改动不生效

二、编写C语言源文件

(1)创建C语言编写的文件,然后会自动进入一般模式

vim helloworld.c

(2)输入上面提到的编辑模式下的命令进行编写 (下图的示例用的是Ubuntu)


(3)输入Esc后进入命令模式进行保存并退出

一个C语言源文件就这样写好了

三、生成可执行文件并执行

(1)生成可执行文件原理

生成可执行文件有四步:预处理、编译、汇编和链接。(可以看下图)

(2)基本生成方法

① 用gcc直接编译执行

gcc test.c -o test 将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名.(不加-o默认可执行文件名为a.out)

gcc helloworld.c   //生成可执行文件
./a.out      //运行可执行文件

输入这个命令会发现有一个 a.out 文件,此文件便是可执行文件。想要运行该文件直接输入该文件的绝对路径即可。

② 用make命令实现

make的运行过程前,必须编写makefile文件。 它描述了软件包中文件之间的关系,提供更新每个文件的命令。make实际上是根据makefile来进行编译的。

1、编写makefile文件
vim makefile      //编写makefile
2、makefile的基本格式
目标文件:依赖文件
	命令

该格式只针对初学者运行这次简单的源代码实验,想扩展更多请自行查阅资料。
目标文件即是我需要生成的文件,依赖文件就是对于生成目标文件的“原材料”。

gcc的常用命令:
命令 作用
gcc -E test.c -o test.i 将test.c预处理输出test.i文件
gcc -S test.i -o test.s 将预处理输出文件test.i汇编成test.s文件
gcc -c test.s -o test .o 将汇编输出文件test.s编译输出test.o文件
gcc test.o -o test 将编译输出文件test.o链接成最终可执行文件test
makefile内容编写:
 helloworld:helloworld.o      //.o链接成可执行文件
 	gcc helloworld.o -o helloworld   //命令前需要输入Tab
helloworld.o:helloworld.s    //.s汇编成.o
	gcc -c helloworld.s -o helloworld.o
helloworld.s:helloworld.i    //.i编译成.s
	gcc -S helloworld.i -o helloworld.s
helloworld.i:helloworld.c    //.c预处理成.i
	gcc -E helloworld.c -o helloworld.i
3、使用make命令

在makefile所在文件的目录下使用命令make,它就会自动执行makefile里面的内容。

4、执行可执行文件

在 ① 所讲过的直接输入其路径 (即./helloworld),即可运行可执行文件helloworld 。

③用gdb调试器运行

1、启动gdb调试器

gdb 可执行文件此命令是启动gdb调试器的命令,因此我们先需要源代码生成可执行文件。
gcc -g helloworld.c -o helloworld用此命令生成可执行文件。
切记不可用上面所讲的gcc helloworld.c来生成,否者会出错。

2、运行可执行文件

gdb的常用命令:

命令 作用
list n 从头打印该行数n的代码
break n 在此行n添加断点
info 来在调试时查看寄存器、断点、观察点和信号等信息
run 运行程序,遇到断点会停止
print n 打印当前变量n的值
next 单步调试(不可进入子函数)
step 单步调试(可以进入子函数)
continue 程序运行到下一个断点或直到程序结束
quit 退出gdb

gdb调试器主要用于调试较长较复杂的代码,这里作为扩展。

需要转载请标明出处

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服