打印

Makefile产生的bin文件竟然有700多M

[复制链接]
1783|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
啥是arm|  楼主 | 2013-8-20 13:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下是我的Makefile  加上一个lm怎么会有700M 难道是静态链接?不太明白 请高手赐教

objs := crt0.o init.o leds.o
LIBPATH=-lgcc -L/usr/local/arm/opt/FriendlyARM/toolschain/4.4.3/lib/gcc/arm-none-linux-gnueabi/4.4.3/
leds.bin: $(objs)
arm-linux-ld -Ttext 0x30000000 -o leds_elf $^ ${LIBPATH} -lm
arm-linux-objcopy -O binary -S leds_elf $@
arm-linux-objdump -D -m arm leds_elf > leds.dis

%.o:%.c
arm-linux-gcc -Wall -O2 -c -o $@ $<

%.o:%.S
arm-linux-gcc -Wall -O2 -c -o $@ $<

clean:
rm -f leds.bin leds_elf leds.dis *.o

相关帖子

沙发
xinzha| | 2013-8-20 14:12 | 只看该作者
0x3000 0000之前有768M个0吧?

使用特权

评论回复
板凳
啥是arm|  楼主 | 2013-8-20 14:48 | 只看该作者
xinzha 发表于 2013-8-20 14:12
0x3000 0000之前有768M个0吧?

恩呀 怎么解决呀 大哥拜托了!好几天了 周边没一个人学这个的

使用特权

评论回复
地板
huangxz| | 2013-8-20 14:59 | 只看该作者
不可能的事情,你肯定搞错了。

使用特权

评论回复
5
啥是arm|  楼主 | 2013-8-20 15:06 | 只看该作者
huangxz 发表于 2013-8-20 14:59
不可能的事情,你肯定搞错了。

是呀 我的Makefile都在这儿了 咋整呀

使用特权

评论回复
6
huangxz| | 2013-8-20 16:35 | 只看该作者
啥是arm 发表于 2013-8-20 15:06
是呀 我的Makefile都在这儿了 咋整呀

你先clean一下,再编译试试看。

使用特权

评论回复
7
啥是arm|  楼主 | 2013-8-20 17:54 | 只看该作者
解决了 解决了 -lm也得像-lgcc那样加上路径

使用特权

评论回复
8
xinzha| | 2013-8-21 09:29 | 只看该作者
每种编译器怎么去除这种问题的方法不见得一样,你得去查编译器的相关文档,我猜就是程序入口点的问题,默认入口点为0,你把代码编在0x3000 0000就会导致前面的768M空白,把入口点选择在0x3000 0000就应该没问题。
实际上按照道理来说全0应该给压缩的,为啥不压缩不明白。

使用特权

评论回复
9
啥是arm|  楼主 | 2013-8-21 09:51 | 只看该作者
xinzha 发表于 2013-8-21 09:29
每种编译器怎么去除这种问题的方法不见得一样,你得去查编译器的相关文档,我猜就是程序入口点的问题,默认 ...

恩 有道理 就是不知道怎么解决

使用特权

评论回复
10
啥是arm|  楼主 | 2013-8-21 09:52 | 只看该作者
啥是arm 发表于 2013-8-21 09:51
恩 有道理 就是不知道怎么解决

还有36K之多

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

181

帖子

0

粉丝