嵌入式c语言makefile.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式c语言makefile嵌入式c语言makefile

GCC编译过程:预编译、编译、汇编、链接 GCC命令行参数 -E、-S、-c、-o -g、-OX、-Wall、-DDEBUG=1、-mcpu=i486 -I、-L、-lname -static、-shared、-fPIC Gcc –fpic –c *.c | gcc –shared –o libpublic.so *.o Gcc –I./incl –c *.c | ar rcvs libpublic.a *.o gcc -I./incl -o test1 test.c -L. -static -lpublic gcc -o testlrc -I./incl -L./lib -lpublic –lcurces testlrc.c(动态链接) 如果链接的动态库不在/lib 或/usr/lib目录下,需要把目录添加到/etc/ld.so.conf 文件里,并且执行ldconfig命令刷新ld.so.cache 库相关的参数放到命令行的后面(-L –static –shared -l) Ncurses-5.3.4.i386.rpm包 (如果目录中既有动态库又有静态库,则先找动态库链接,除非有-static指定要链接静态库) 为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig. 此执行程序存放在/sbin目录下. ldconfig命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,有哪些信誉好的足球投注网站出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表. ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令. /rc.d/rc.sysinit ldconfig –n /lib lrc.c 中LRC 计算校验和函数编写情况 Int2byte函数编写情况 Public静态库和动态库是否生成? 是否可以编写测试程序调用库里的LRC函数? Make工程及Makefile结构 多文件的Makefile编写 C重点关键字介绍 1. make工程管理器 工程管理器,顾名思义,是指管理较多的文件 Make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件文件的内容来执行大量的编译工作 makefile是make读入的惟一配置文件,因此本节的内容实际就是讲述makefile的编写规则。在一个makefile中通常包含如下内容: ? 需要由make工具创建的目标体(target),通常是目标文件或可执行文件; ? 要创建的目标体所依赖的文件(dependency_file); 创建每个目标体时需要运行的命令(command),这一行必须以制表符(tab键)开头。 makefile格式 target: dependency_files TAB command /* 该行必须以tab键开头*/ target也就是一个目标文件,可以是Object File,也可以是执行文件。还可以是一个标签(Label),对于标签这种特性,在后续的“伪目标”章节中会有叙述。prerequisites就是,要生成那个target所需要的文件或是目标。command也就是make需要执行的命令。(任意的Shell命令) 例子Makefile1-基本格式(头文件在incl目录里,先全移到外边) hello: main.c main.h gcc –o hello main.c $ make hello gcc -o hello main.c [root@localhost hello]# ls display.c display.h hello incl main.c main.h Makefile Makfile 编译和链接分开的做法 例子Makefile2 hello: main.o gcc –o hello main.o Main.o:main.c main.h gcc –c main.c –o main.o clean: rm -rf hello *.o 测试: $ make hello 注意: clean不是一个文件,它只不过是一个动作名字,有点像C语言中的lable一样,其冒号后什么也没有,那么,make就不会自动去找文件的依赖性,也就不会自动执行其后所定义的命令。要执行其后的命令,

文档评论(0)

ganqludp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档