armcc 问题
armcc -M选项生成自动依赖关系
可是有一部分是系统的头文件
我想去掉系统依赖的部分
请问有什么参数
gcc是可以通过-MM代替-M实现
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
armcc -M选项生成自动依赖关系
可是有一部分是系统的头文件
我想去掉系统依赖的部分
请问有什么参数
gcc是可以通过-MM代替-M实现
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(9)
请教中。。。。。。
查查帮助吧,没用过armcc
armcc 是arm公司自己开发的编译器,但就个人认为,这个和GNU的GCC有很多相似性:它们的命令相似。但有点不同,在GCC编译的指令代码中,每个函数的入口压栈的时候使PC寄存器压站,armcc没有压这个寄存器。
其实就armcc和gcc建立依赖关系来说都是一样的,为什么你不想要依赖系统的文件?
例如生成的一个.d文件如下:
z:/services/hdlc/objs/hdlc.o: z:\services\hdlc\source\hdlc.c
z:/services/hdlc/objs/hdlc.o: z:\services\common\include\srv_cfg.h
z:/services/hdlc/objs/hdlc.o: z:\services\ose\include\osekernel.h
z:/services/hdlc/objs/hdlc.o: z:\services\ose\include\osetskcfg.h
z:/services/hdlc/objs/hdlc.o: z:\services\ose\include\oseproccfg.h
z:/services/hdlc/objs/hdlc.o: z:\services\ose\include\oseif.h
z:/services/hdlc/objs/hdlc.o: z:\services\common\include\lnc_type
z:/services/hdlc/objs/hdlc.o: D:\Program Files\ARM\ADSv1_2\Include\string.h
最后一行就有错误,说不认识 “D:\Program”
你用的armcc是在cygwin下用的吧?如果是cygwin,这行应该是“D:\Program\ Files\ARM\ADSv1_2\Include\string.h”
注意,UNIX格式的系统在命令行下对于文件名的操作不同windows,凡是保留字符都需要添加转义字符 '\' .你手动把这行改了试试
其实gcc -M只是用来生成依赖关系的工具,然后在根据依赖关系查找*.o的文件修改日期是否在依赖的文件修改日期之前,如果条件成立,就重新编译生成*.o文件。这个方法对于编译是很节约时间的。
其实没有依赖关系也没有问题,只是当你修改了源码后,需要clean掉所有的obj文件、你自己编译好的库文件和可执行文件。
为什么不用linux?cygwin是windows上的虚拟环境,性能浪费
不是cygwin,我是想在windows下的cmd中执行make命令,
[ 本帖最后由 99lingbo 于 2008-6-24 13:30 编辑 ]
......
有创意
有人知道吗?
什么参数可以不生成带有系统的依赖文件,继续请教中。。。。。。
我查了一下armcc文档,只有-M与-MD参数,可是都不行