arm-none-eabi和arm-linux-gnueabi有什么区别?我知道如何使用它们的区别(一个用于裸机软件,另一个用于在linux上运行的软件)。但是技术背景是什么呢?
我看到ABI中有一个区别,据我所知,它类似于API,但在二进制级别上。它确保了不同应用程序之间的互操作性。
但我真的不明白有没有操作系统对我的工具链有什么影响。我唯一想到的是,库可能必须是静态链接的(是吗?)同时编译裸机软件,因为没有os动态地提供它们。
我找到的大多数与这个主题相关的页面只是回答了如何使用工具链,而没有回答技术背景。我是机电一体化专业的学生,也是嵌入式系统的新手,所以我在这个领域的经验有限。
发布于 2016-08-17 14:48:17
也许这个描述的link会有所帮助。
最大的区别可能是:
裸机ABI将假定与Linux ABI (假定glibc)不同的C库(例如newlib,甚至没有C库)。因此,编译器可能会根据它认为在标准C库之上和之外的可用内容而进行不同的函数调用。
https://stackoverflow.com/questions/38956680
复制相似问题