- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3讲 Linux编程环境;第3讲 Linux编程环境; 3.1 Linux编程环境;嵌入式应用的生成特点; 3.1 gcc;gcc常用选项:预处理控制; #include stdio.h
void main()
{
int arr[10],i=0;
for (i=0;i10;i++)
{
arr[i]=i;
if (DEBUG) //使用了一个名为DEBUG的宏,该宏在编译的时候定义。
{
printf(“arr[%d]=%d\n”,i,arr[i]);
}
} }
;;gcc选项:编译及警告信息控制;例如,$ gcc -o hello hello.c
$./hello
gcc –c hello.c
./hello 无法执行
gcc -o test? first.c second.c third.c;语言控制和程序调试及优化;$ gcc test.c –I../inc -o test
此命令告诉GCC包含文件存放在./inc 目录下,在当前目录的上一级。可使用多个-I 来指定多个目录。
-L dir选项。该选项将dir添加到库文件搜索路径中
-l library或者-llibrary选项,指定需要使用的库名称
-static选项,该选项表示在编译时强制使用对应的静态链接库。
-shared选项,该选项创建共享库。它所创建的动态库文件以.so后缀结尾。
;链接库;静态库;动态库;静态库和动态库的区别;GDB调试器简介
Linux系统中包含了GNU 调试程序gdb,用来调试C和 C++ 程序的调试器。gdb 提供如下功能:
● 运行程序,设置所有的能影响程序运行的参数和环境。
● 控制程序在指定的条件下停止运行。
● 当程序停止时,可以检查程序的状态。
● 修改程序的错误,并重新运行程序。
● 动态监视程序中变量的值。
● 可以单步执行代码,观察程序的运行状态。 ;1.gdb的启动
有两种方法运行gdb,即在终端窗口的命令行中直接输入gdb命令或gdb filename命令运行gdb。
方法1:
先启动gdb后执行file filename命令。即
gdb
file filename
执行上述两条命令就可启动gdb,并装入可执行的程序filename。
方法2:
启动gdb的同时装入可执行的程序。即
gdb filename
其中,filename是要调试的可执行文件。
启动gdb后,就可以使用gdb的命令调试程序。;(1)工作环境相关命令;(2) 设置断点与恢复命令;(3)gdb中源码查看相关命令;(4) gdb中查看运行数据相关命令;(5)其他gdb命令
run命令:执行当前被调试的程序。
kill命令:停止正在调试的应用程序。
watch命令:设置监视点,监视表达式的变化。
awatch命令:设置读写监视点。当要监视的表达式被读或写时将应用程序挂起。它的语法与watch命令相同。
rwatch命令:设置读监视点,当监视表达式被读时将程序挂起,等侍调试。此命令的语法与watch相同。; info break命令:显示当前断点列表,包括每个断点到达的次数。
info files命令:显示调试文件的信息。
info func命令:显示所有的函数名。
info local命令:显示当前函数的所有局部变量的信息。
info prog命令:显示调试程序的执行状态。
Shell命令:执行Linux Shell命令。
make命令:不退出gdb而重新编译生成可执行文件。
quit命令:退出gdb。;(6) gdb中修改运行参数相关命令
gdb可修改运行时的参数,并使该变量按照用户当前输入的值继续运行。
方法为:在单步执行的过程中,键入命令:
set 变量=设定值
程序就按照该设定的值运行。
特别注意,在gcc编译选项中一定要加入”-g”。只有在代码处于“运行”或“暂停”状态时才能查看变量值,设置断点后程序在指定行之前停止。;GNU Make;依赖关系;GNU的make工作时的执行步骤如下:
1. 读入所有的Makefile。
2. 读入被include的其它Makefile。
3. 初始化文件中的变量。
4. 推导隐晦规则,并分析所有规则。
5. 为所有的目标文件创建依赖关系链。
6. 根据依赖关系,决定哪些目标要重新生成。
7. 执行生成命令。
;Makefile;1.Makefile书写规则
Makefile规则格式:
目标,即make最终需要创建的文件,如可执行文件和目标文件;目标也可以是要执行的动作,如clean。
一个或多个依赖文件(
您可能关注的文档
- 斗轮机大修作业指导书111探究.doc
- 第2章建立数据库和表探究.ppt
- Windows内存原理与内存管理探究.docx
- 第十一周:消防宣传知识探究.ppt
- 第十章 动载荷探究.ppt
- 第十章_OpenGL探究.ppt
- 斗轮机大修作业指导书探究.doc
- 斗轮机基础施工组织设计探究.doc
- 斗轮机理论探究.doc
- winxp和win7真正完美互相独立双系统的安装方法探究.docx
- 2024年长白山职业技术学院招聘笔试真题及参考答案详解.docx
- 2024年浙江经贸职业技术学院招聘笔试真题参考答案详解.docx
- 2024新疆师范高等专科学校招聘笔试真题附答案详解.docx
- 2024广州城建职业学院招聘笔试真题带答案详解.docx
- 2024年益阳师范高等专科学校招聘笔试真题及参考答案详解.docx
- 2024年浙江邮电职业技术学院招聘笔试真题及参考答案详解1套.docx
- 2024新疆生产建设兵团兴新职业技术学院招聘笔试真题及答案详解一套.docx
- 2024年贵州职业技术学院招聘笔试真题带答案详解.docx
- 2024新疆轻工职业技术学院招聘笔试真题及参考答案详解一套.docx
- 2024年黄冈职业技术学院招聘笔试真题及答案详解1套.docx
文档评论(0)