ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:163.25KB ,
资源ID:10739498      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-10739498.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验一-LinuxC编程工具GCC和GDB.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

实验一-LinuxC编程工具GCC和GDB.doc

1、淮海工学院计算机工程学院实 验 报 告 书课 程 名 : Linux 程序设计 题 目: 实验一 Linux C 编程工具:GCC 和 GDB 班 级: 软件 131 学 号: 2013122870 姓 名: 王裕 评语:成绩: 指导教师: 批阅时间: 年 月 日Linux 程序设计实验报告 - 0 -一、 实验目的与要求1. 掌握 Linux C 开发过程中的基本概念;2. 掌握如 GCC,GDB 等开发工具的使用。二、 实验内容1. 将参考代码录入到 test1.c 文件中,编译执行后发现结果与预期不一致,请使用GDB 调试,完成字符串反序输出功能。三、 参考源代码#include #in

2、clude #include int reverse_str(char *string);int main (void) char string = “Linux C Tools : GCC and GDB“; printf (“The original string is %s n“, string);reverse_str (string);int reverse_str (char *str) char *new_str;int i, size;size = strlen (str);if(new_str = (char *) malloc (size + 1) = NULL) retu

3、rn -1;for (i = 0; i b if condition_expression b (3) 查看中间输出结果: p set print element 0p 或说明:GDB 中查看字符串变量值可通过“set print element 0”命令,一次性显示字符串所有内容。(4) 分析中间结果,修改 28 行语句为 new_strsize - i-1 = stri;五、 实验结果与截图1. 编写 test1.c 文件并编译Linux 程序设计实验报告 - 2 -2.设置断点,进行 gdb 测试跟踪变量。执行到 i=27 时 size-i=0,str27已经超过 str 字符串限制,于

4、是 new_str0=0。输出 new_str 时,由于超过限制无法输出。所以修改程序第 28 行语句为 new_strsize - i-1 = stri;正确的程序运行结果如下图所示。Linux 程序设计实验报告 - 3 -六、 思考题1. 分析以下代码,完成指定范围内数值累加功能:#include /*函数功能:将 low 到 high 之间的数值累加求和*/int add_range(int low, int high) int i, sum;for (i = low; i void print1(int arg) printf(“%dn“, arg);/*print2.c */#inc

5、lude void print2(char* arg) printf(“%sn“, arg);Linux 程序设计实验报告 - 4 -调用库函数的源文件为 main.c 如下:/*main.c */void print1(int arg);void print2(char* arg);int main(int argc, char* argv) int i = 3; char* str = “test libary!n“;print1(i);print2(str);return 0 ;生成静态库(myprint.a)并使用的基本步骤步骤 1:编译 print1.c, print2.c 生成 p

6、rint1.o, print2.o 目标文件gcc -c print1.c print2.c步骤 2:生成 myprint 静态库文件 libmyprint.aar -r libmyprint.a print1.o print2.o步骤 3:拷贝库文件 libmyprint.a 到/usr/lib 目录下sudo cp libmyprint.a /usr/lib说明:若不将静态链接库拷贝到/usr/lib 目录下,在调用该库时需通过 GCC 选项-L 指定库文件所在路径步骤 4:调用静态库文件,编译生成可执行二进制文件gcc -o main main.c -lmyprint生成动态链接库(my

7、print.so)并使用的基本步骤步骤 1:编译 print1.c, print2.c 生成 print1.o, print2.o 目标文件gcc -c -fpic print1.c print2.c注意:GCC 选项“-fpic ”表示独立编址,运行时可计算出相应的内部地址。步骤 2:生成 myprint 动态链接库 libmyprint.sogcc shared print1.o print2.o -o libmyprint.so步骤 3:拷贝库文件 libmyprint.so 到/usr/lib 目录下sudo cp libmyprint.so /usr/lib步骤 4:调用动态库文件,

8、编译生成可执行二进制文件gcc -o main main.c libmyprint.so七、 实验体会本次实验是 Linux 的第一次实验,换了一个环境,很不适应,没有鼠标操作的情况下,可以通过上下键来选择 vim,gcc 等操作,也极为方便了我们的操作,再有就是gdb,语言代码除了符合最基本的语法规范之外还必须符合设计者的逻辑意图,如果发现生成的可执行文件运行结果不正确,则可以通过相应的调试环境来跟踪调试,因此需要用到 gdb。比如,用来查看文件,设置断点,运行程序,查看变量,表达式的值等等,其中的step,next 等很是重要:单步执行:step、next,step 命令步入函数,而 next 命令步过函数。step up 将一直执行,直至当前函数将控制返回调用它的函数为止。另外常Linux 程序设计实验报告 - 5 -见的 gdb 命令还有 file,kill,list,run,quit,make 等

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报