




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式LINUX应用开发的详细说明,主要内容,1。gcc 2的使用方法。库文件3。用gdb 4调试程序。makefile 5。自动工具。Gcc的使用说明,GCC -c的整体编译选项是只编译而不链接,生成的目标文件。”“O”-S只预编译但不汇编,而生成的汇编代码-E只预编译。不要做其他处理-在可执行文件中包括标准调试信息-输出文件输出文件到文件-打印出命令行信息和编译器内部编译过程的编译器版本-在头文件的搜索路径列表中添加目录-在库文件的搜索路径列表中添加目录-静态链接静态库-静态连接名为库的库文件,GCC的指令, Gcc报警和错误选项-ANSI支持符合ANSI标准的程序-预防允许发送ANSI
2、C标准中列出的所有报警信息-预防-错误允许发送ANSI C标准中列出的所有错误信息-关闭所有报警-墙允许发送gcc提供的所有有用的报警信息-错误报告变成错误消息,停止编译,GCC指令,GCC你好当程序开始运行时加载动态内存库:当程序调用库中的函数时,系统的库通常放在/usr/lib和/lib目录中,也可以放在/usr/local/lib中。静态库后缀一般是。a .共享库和动态库一般是。例如,数学库libm.so.5,其中m是库的名称,5是版本号,libm.a是静态数学库及其相关目录和描述。/lib /先决条件共享库/usr/lib /标准共享库和静态库/usr/local/lib /本地函数库
3、的头文件路径/usr/include /系统头文件/usr/local/include /配置文件和与本地头文件相关的命令:/etc/ld.so.conf /包括共享库ldconfig /共享库管理工具的搜索位置,此命令应在更新共享库后运行。您可以查看可执行文件使用的共享库,动态和静态库的创建方法,创建静态库的方法:gcc libhello . c/生成目标文件libhello . o ar rclibhello . a libhello . o/生成静态库libhello.a ar公共参数:r:将目标文件放入库中,如果目标文件不存在,则替换任何同名的目标文件c:S:默认情况下会创建该库, 维
4、护一个将符号名称映射到目标文件的表,静态库创建示例:创建目标文件的静态库。 gcc hello.c libsum.a o hello 2,或复制libsum.a到/usr/Execute ldconfig gcc hello . c lsum o hello在lib根下,创建动态库的方法,gcc FPIc Wall g-c lib sum . c/-FPIc表示生成位置无关代码gcc g -shared Wl,-soname,Libsum . so . 0 o lib sum . so . 0 . 0 lib sum . o LC/-shared表示构建共享库。/-Wl将以下“soname,l
5、ibsum.so.0”作为库名传递给共享库。,动态库的使用,1。将生成的动态库文件libsum.so.0.0复制到/usr/lib下的根目录,并运行ldconfig gcc hello.c lsum o hello 2和ln lib sum . so . 0.0 lib sum . so gcc hello . c l/home/centos/test/Lsum o hello,gdb调试程序,gdb用于调试可执行程序。1.输入gdb: gdb hello 2,列出代码:l,3。设置断点b行号,例如:b 6 /在第六行设置断点,4。检查断点信息b,5。运行r,6。检查变量值p变量名,7。观察可
6、变手表的可变名称,8。单步运行n 9,继续运行continue 10,退出q,makefile,makefile基本结构目标,依赖文件,命令目标: dependency _ filescommand/命令行的开头有一个TAB示例:hello . o : hello . c hello . h gcc c hello . c o hello . o,Makefile的变量。为了简化编辑和维护makefile,允许变量替换文本字符串,并且变量名区分大小写。任何其变量名不能在“:”、“#”和“=”末尾包含空格的字符串都通过$(变量名)objs=kong . oyul . o CC=gcc cflag
7、s=-wall o-gsung 3360 $(objs)$(CC)$(cflags)引用该变量。makefile的一个公共预定义变量,即AR库文件维护程序的名称,默认为ar AS汇编程序、AS CC编译器、cc CPP C预编译程序、$(CC)-E CXX C编译器和默认值为rm -f ARFLAGS库文件维护程序选项、无默认ASFLAGS汇编程序选项、无默认CFLAGS C编译器选项、无默认CPPFLAGS C预编译器选项、无默认CXFLAGS C编译器选项、无默认值、生成文件通用自动变量、$ *不带扩展名的目标文件名$所有相关文件都用空格分隔,并且可能包含重复的相关文件$首先所有时间戳晚于
8、目标文件的相关文件都用空格分隔$目标文件的全名$所有非重复相关文件都用空格分隔$%。如果目标是归档成员,此变量表示目标的归档成员名称。OBJS康康:美元康康:美元康康:美元康康:美元康康:美元康康:美元康康:美元康康:美元康康:美元康康:美元康康:美元康康:美元康康:美元康康:美元康康:美元康康3:美元康康3:美元康康33:美元康康3:美元康康3o“文件可由自动使用”。c 带有命令:的文件 $ (cc) $ (CPPFLA) Objs kang。尤尔。o cc=gcc cflags=wall o gsunq : $(objs)$(cc)$-o $,这是一个常见的隐式规则。c编译:c变成了。o $(CC) c $(CPPFLAGS) $(CFLAGS) c编译:抄送或。c变成了。o $(CXX) c $(CPPFLAGS) $(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品制造合同样本
- 二手车合同样本
- 个人加工高端设备合同样本
- 2009版合同标准文本
- 共享加盟合同标准文本
- 买卖儿童农村房屋合同样本
- 公司中途入股合同标准文本
- 业主订制家具合同样本
- 优惠仓库租赁服务合同样本
- 买抵押车合同样本
- 电动葫芦的安全操作措施
- 河南省绿色建筑评价表(建筑专业)
- 2022-2023学年山东省济南市市中区八年级(下)期中语文试卷-普通用卷
- 江铃系列维修手册
- 造价咨询公司组织机构及人员岗位职责
- 中国文化科举制度的等级
- GB/T 700-2006碳素结构钢
- 多发性骨髓瘤NCCN患者指南中文版2022
- GB/T 13441.4-2012机械振动与冲击人体暴露于全身振动的评价第4部分:振动和旋转运动对固定导轨运输系统中的乘客及乘务员舒适影响的评价指南
- 教科版科学五年级下册全册全套课件【最新版】
- 中绿的制度课
评论
0/150
提交评论