Linux操作系统课件ppt--第6次 gcc及gdb的使用.pptx
文本预览下载声明
gcc及gdb使用;C语言具备如下特点:
(1)把高级语言的基本结构和语句与低级语言的实用性结合起来,可以像汇编语言一样对位、字节和地址进行操作,更接近于硬件设备,因此执行效率很高;
(2)具有强大的图形处理功能
(3)具有多种数据类型,并引入指针概念,使程序效率更高;
(4)是结构化的语言,采用代码及数据分隔,使程序的各个部分除必要的信息交流外彼此独立,层次清晰,便于使用、维护以及调试;
(5)可移植性强,适合诸如DOS、Windows和Linux等多种操作系统及体系结构,尤其适合在嵌入式领域的开发。;;;gcc使用方法简介
gcc [参数...] [文件名...]
;程序实例:
#includestdio.h
int main()
{
printf(hello world!\n);
return 0;
}
[jacky@bogon c]$ gcc helloworld.c
[jacky@bogon c]$ ls
a.out helloworld.c
;执行a.out时需要在其前面加上“./”才可正确执行,原因是可执行文件所在的???录没有包含在环境变量PATH的值中
[jacky@bogon c]$ export PATH=$PATH:.
[jacky@bogon c]$ a.out
hello world
如果需要修改可执行文件的名字,可以使用-o参数直接指定
[jacky@bogon c]$ gcc helloworld.c –o helloworld
[jacky@bogon c]$ ls
a.out helloworld helloworld.c
;;预处理阶段可以使用-E参数来进行预处理并终止编译,得到扩展名为.i的预处理文件,然后使用cat命令查看文件内容。
[jacky@bogon c]$ gcc –E helloworld.c –o helloworld.i
[jacky@bogon c]$ cat helloworld.i
使用-S参数来查看编译阶段的执行效果
[jacky@bogon c]$ gcc –S helloworld.i –o helloworld.s
[jacky@bogon c]$ cat helloworld.s
汇编过程是处理汇编语言的阶段,主要调用汇编处理程序完成将汇编语言汇编成二进制机器代码的过程,该过程将扩展名为.s 的汇编语言代码文件汇编为扩展名为.o的目标文件。所生成的目标文件作为下一步链接过程的输入文件。
[jacky@bogon c]$ gcc –c helloworld.s –o helloworld.o
链接阶段
[jacky@bogon c]$ gcc helloworld.o –o helloworld;gdb命令及对应作用表;多个c语言源程序,可以使用Make工程管理器来提高效率,只需要编写makefile文件制定相应的编译和链接规则,然后在终端执行make命令就可以高效方便的完成最后的编译工作,且如果以后修改个别文件时,make会自动检查出哪些文件被修改过,从而只对这些文件再次进行编译,保证最终的可执行文件是由最新的模块构建的。;工程管理相关语法
makefile文件中语句通常遵循格式如下:
目标(target):依赖文件 (dependency_file)...
tab 命令
通常情况下,一个makefile文件中会有一个特殊的规则用来删除编译过程中产生的二进制文件,并只保留原文件,格式如下所示,其中文件名部分可以使用通配符:
clean:
tabrm –rf 文件名...
;变量的使用 ;当用户自定义变量时,一般需要注意如下事项:
(1)为变量赋值的格式:变量=变量内容;
(2) 变量左边不允许出现 tab ,否则出错;
(3)习惯上,变量一般用大写字母;
(4) 使用变量时,以 ${变量}或 $(变量) 形式;
(5)在使用make指令时也可以为变量赋值。
;make命令使用方法
使用make命令时,可以利用命令行选项对它进行即时配置,使用格式通常如下所示:
make [选项][宏定义][目标]
;参数;实例:见课本
显示全部