栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么arm-linux-gnueabi-g ++-4.4总是生成“ 7-A”二进制文件?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么arm-linux-gnueabi-g ++-4.4总是生成“ 7-A”二进制文件?

您的编译器支持armv4t,问题是您的链接器必须将您的目标文件与libc,crt.o等其他文件链接才能创建可执行文件。但是,在您的工具链中,所有这些文件都已针对7-A进行了编译,因此,可执行文件最终也将成为一个文件。这是ubuntu
cross工具链的问题,默认情况下它们是armv7a。

如果 仅编译 源文件,则会看到编译器输出正确的目标文件类型。

$ arm-linux-gnueabi-g ++-4.4 -mcpu = arm9tdmi -march = armv4t -O -c
main.cpp -o CPPTest

$ readelf -A CPPTestAttribute Section: aeabiFile Attributes  Tag_CPU_name: "ARM9TDMI"  Tag_CPU_arch: v4T  Tag_ARM_ISA_use: Yes  Tag_THUMB_ISA_use: Thumb-1  Tag_FP_arch: VFPv3-D16  Tag_ABI_PCS_wchar_t: 4  Tag_ABI_FP_denormal: Needed  Tag_ABI_FP_exceptions: Needed  Tag_ABI_FP_number_model: IEEE 754  Tag_ABI_align_needed: 8-byte  Tag_ABI_align_preserved: 8-byte, except leaf SP  Tag_ABI_enum_size: int  Tag_ABI_HardFP_use: SP and DP  Tag_ABI_optimization_goals: Prefer Speed  Tag_DIV_use: Not allowed

因此,工具链不仅仅是编译器,它的每个组件都需要配合使用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/408849.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号