- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4 编程
4、Linux基本的编程与调试方法 教师:沈峰 shenfeng@163.com 内容 gcc编译器 gdb调试器 nasm汇编器 make工具 gcc编译器 使用gcc编译器,编译程序 1、假定已经有一个程序为hello.c,使用如下方法把它编译成一个可执行文件: gcc –o myHello hello.c gcc -g -o eg1 eg1.c 2、执行此文件: 在命令行下输入程序名如下: ./ myHello gdb调试器 使用gdb调试器,调试程序 1、如果要调试一个可执行程序,则编译此程序时必须使用-g选项。 例如: gcc -g -o eg1 eg1.c 2、进入调试状态: gdb eg1 3、退出 gdb quit 或 q 4、gdb的基本使用方法 run:启动程序 next:单步执行程序(跳过函数) step: 单步执行程序(逐语句即可以深入到自定义的函数内部执行单步操作) list :查看源代码 info locals:显示所有局部变量的值 print:打印变量的值,例如 print no1 设置断点:break 函数名 或 行号, 例如:break main , break 21 设置断点之后,用run重新执行后,将在断点处中断执行 break 行号 if 条件表达式 根据条件设置断点。条件中指定的变量必须在指定的行号的行中,否则表达式就没有什么意义! 例如 break 17 if value==div ,其中变量value和div必须是第17行中的变量。 info break:查看当前定义了什么断点及其条件 delete 断点号:删除指定的断点 set 变量名=值:修改变量的值 nasm汇编器 nasm汇编器:用来编译汇编语言程序代码 ld 链接器:用来把nasm生成的扩展名为.o的文件链接成可执行文件。 例如 Nasm -f elf b.asm 生成b.o文件 ld -o b b.o 生成可执行文件b ./b 执行b 示例b.asm ; b.asm section .data ; 数据段声明 msg db Hello, world!, 0xA ; 要输出的字符串 len equ $ - msg ; 字串长度 section .text ; 代码段声明 global _start ; 指定入口函数 _start: ; 在屏幕上显示一个字符串 mov edx, len ; 参数三:字符串长度 mov ecx, msg ; 参数二:要显示的字符串 mov ebx, 1 ; 参数一:文件描述符(stdout) mov eax, 4 ; 系统调用号(sys_write) int 0x80 ; 调用内核功能 ; 退出程序 mov ebx, 0 ; 参数一:退出代码 mov eax, 1 ; 系统调用号(sys_exit) int 0x80 ; 调用内核功能 1、make工具简介 无论是在Linux还是在UNIX环境中,make都是一个非常重要的系统开发工具。利用make工具,可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。 make能够按照规则自动完成编译工作,并且可以只对程序员在上次编译后修改过的文件进行编译,减少重复编译的工作量。 2、make工作原理 在默认的方式下,只要输入make命令就可以工作。具体的处理过程如下: (1)make会在当前目录下找文件名为“Makefile”或“makefile”的文件。 (2)如果找到,它会找文件中的第一个目标文件(target),在下面的例子中,它会找到“edit”这个文件,并把这个文件作为最终的目标文件。 (3)如果edit文件不存在,或是edit所依赖的后面的.o文件的修改时间要比edit这个文件新,那么,就会执行后面所定义的命令来生成edit这个文件。 (4)如果edit所依赖的.o文件也不存在,那么make会在当前的Makefile文件中找目标为.o文件的依赖性,如果找到则再根据那一个规则生成.o文件。 (5)如果指定的C文件和H文件是
您可能关注的文档
最近下载
- 有限空间作业专项施工方案.docx VIP
- 西师大版数学四年级上册全册表格式教案.pdf VIP
- 5.1《论语》十二章 课件(共74张PPT) 2024-2025学年统编版高中语文选择性必修上册.pptx VIP
- 班费收支明细表.xls VIP
- 宾馆前台交接班记录表.pdf VIP
- 基于人工智能的博物馆智慧导览服务系统建设与应用——“辽小博”AI智慧导览系统的探索实践.pdf VIP
- 2024年秋新人教版物理八年级上册教学课件 开学第一课 开启科学探索之旅.pptx VIP
- 电子科技大学2012年—2023年858信号与系统考研真题答案.pdf
- 2024年款 上汽通用别克 昂科威Plus 车主手册用户手册说明书.pdf VIP
- 《保密法》培训ppt课件下载.pptx VIP
文档评论(0)