- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第3章从HelloLinux程序开始
;掌握gcc工具的使用方法。
掌握gdb工具的使用方法,熟练使用相关的调试命令。
了解Linux系统中C语言编程规范;实验1:简单程序开发
实验2:单步编译和多步编译
实验3:浏览gdb内置命令
实验4:利用gdb调试程序
;实验目的
掌握Linux系统中C语言程序开发的方法。;实验内容与要求
编写并执行该小节的hello_linux程序,源码参考电子资源“源代码/ch03/1/hello_linux.c”。
编写一个字母大小写转换的程序,并验证gcc编译源文件时若没有-o参数,生成的可执行文件名是否为a.out。(源码参考电子资源“源代码/ch03/1/char_change.c”);原理/背景
程序开发要经过源码的编写、编译与执行三步
;实验步骤
1.源代码编写:使用gedit创建该文件即可,假设当前目录为读者的home目录,
2.使用gcc命令编译源文件hello_linux.c,生成可执行文件hello_linux
3.使用$./命令运行生成的可执行文件hello_linux
;实验目的
掌握程序的单步编译和多步编译方法。;实验内容及要求
创建三个文件sum.c、sub.c和main.c,sum.c文件定义一个完成两个数相加的函数,sub.c文件定义一个完成两个数相减的函数,main.c是定义主函数并调用前面定义的加法和减法函数,采用单步编译和多步编译分别生成可执行文件main1和main2。(源码参见电子资源“源代码/ch03/2/”);原理/背景
C语言程序从编写到执行经过预编译、编译、汇编和链接四步,可以使用相关的命令分四步对某一源码进行操作或者使用一条命令同时做成四步;实验步骤
单步编译
使用gcc命令单步编译
多步编译
1.使用gcc-E命令进行预编译,
2.使用gcc-S命令将*.i编译成*.s文件
3.使用gcc–c对*.s汇编成*.o文件
4.使用gcc对*.o文件进行链接
;实验目的
浏览并体验gdb的基本命令用法
;实验内容及要求
在命令行下输入gdb命令启动gdb,然后输入helpall命令浏览gdb所有的内置命令,查看总体分类。;原理/背景
gdb中的命令分为显示变量或者表达式的值、设置断点、不同的执行方式等。;实验目的
掌握gdb调试程序的基本方法
;实验内容及要求
现有一程序要求打印两个字符串,其中一个按正序打印,一个按逆序打印,源码如下页图所示(或参见电子资源“源代码/ch03/3/hello_gdb.c”),但是运行结果不能满足上述要求,请读者生成可调试的执行文件,并利用gdb进行调试,找到问题并修改,让程序最终完成上述要求。;;原理/背景
使用gdb下列相关的命令完成基本的调试工作
设置断点、运行程序、观察变量值
观察变量、单步执行、进入函数
一步运行到下一个断点
;实验步骤
1.使用gcc-g命令生成可以调试的exe文件,
2.使用gdb命令启动gdb对1中的文件进行调试
3.使用相关的调试命令找出逻辑错误的所在
4.修正逻辑错误,得到正确的输出;练习
1.编写程序快速统计给定整数二进制形式中1的个数。
2.交换两个变量(整型)的值,且不允许使用中间值
完成上面的程序,并使用gdb调试相关的错误。
文档评论(0)