armcc 问题

发布于 2022-09-19 12:32:44 字数 101 浏览 15 评论 0

armcc -M选项生成自动依赖关系
可是有一部分是系统的头文件
我想去掉系统依赖的部分
请问有什么参数

gcc是可以通过-MM代替-M实现

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

别靠近我心 2022-09-26 12:32:44

请教中。。。。。。

一梦等七年七年为一梦 2022-09-26 12:32:44

查查帮助吧,没用过armcc

孤独患者 2022-09-26 12:32:44

armcc 是arm公司自己开发的编译器,但就个人认为,这个和GNU的GCC有很多相似性:它们的命令相似。但有点不同,在GCC编译的指令代码中,每个函数的入口压栈的时候使PC寄存器压站,armcc没有压这个寄存器。
其实就armcc和gcc建立依赖关系来说都是一样的,为什么你不想要依赖系统的文件?

高冷爸爸 2022-09-26 12:32:44

例如生成的一个.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”

塔塔猫 2022-09-26 12:32:44

你用的armcc是在cygwin下用的吧?如果是cygwin,这行应该是“D:\Program\ Files\ARM\ADSv1_2\Include\string.h”
注意,UNIX格式的系统在命令行下对于文件名的操作不同windows,凡是保留字符都需要添加转义字符 '\' .你手动把这行改了试试

南渊 2022-09-26 12:32:44

其实gcc -M只是用来生成依赖关系的工具,然后在根据依赖关系查找*.o的文件修改日期是否在依赖的文件修改日期之前,如果条件成立,就重新编译生成*.o文件。这个方法对于编译是很节约时间的。
其实没有依赖关系也没有问题,只是当你修改了源码后,需要clean掉所有的obj文件、你自己编译好的库文件和可执行文件。
为什么不用linux?cygwin是windows上的虚拟环境,性能浪费

老娘不死你永远是小三 2022-09-26 12:32:44

不是cygwin,我是想在windows下的cmd中执行make命令,

[ 本帖最后由 99lingbo 于 2008-6-24 13:30 编辑 ]

冷默言语 2022-09-26 12:32:44

......
有创意

失而复得 2022-09-26 12:32:44

有人知道吗?
什么参数可以不生成带有系统的依赖文件,继续请教中。。。。。。
我查了一下armcc文档,只有-M与-MD参数,可是都不行

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文