网站大量收购独家精品文档,联系QQ:2885784924

第3讲Linux编程环境探究.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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。 一个或多个依赖文件(

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档