【发布时间】:2014-07-05 08:39:19
【问题描述】:
在我的 ARM 项目中,我使用以下内容来构建无 os-less 应用程序二进制文件:
arm-linux-gcc -Os -ffunction-sections -fdata-sections -o boot.o boot.S
arm-linux-gcc -Os -ffunction-sections -fdata-sections -o main.o main.c
arm-linux-ld -T link.lds --gc-sections -o target.bin boot.o main.o
这些工作正常。因为如果我删除“-ffunction-sections”、“-fdata-sections”和“--gc-sections”选项,target.bin 文件大小将增加近两倍..
但在 x86 平台上,同样的方法,我发现: 如果我不使用这些 gcc 和 ld 选项,输出是正常的,但是如果我使用这些选项作为 arm 平台,输出文件将是 0 字节。
【问题讨论】: