我是 ARM 开发新手。现在我对ARM的交叉工具链真的很困惑。这是我遇到的一些问题:
gcc
和arm-linux-gcc
的开发者是同一个吗?或者arm-linux-gcc
的开发者有很多不同的版本?如果有,所有arm-linux-gcc
编译器的起源是什么?arm-linux-gcc
有官方网站吗?从哪里获得
arm-linux-gcc
的官方文档?现在我只能从the official GNU website 得到gcc 的官方文档。 , 但我从 GNUTOOLCHAIN 下载了我的arm-linux-gcc
并且找不到任何文件。根据我的经验,gcc
和arm-linux-gcc
的选项并不完全相同。最后,
arm-linux-gcc
的不同预构建版本之间有什么区别?我想它们之间的唯一区别是编译器的默认选项,对吗?我可以为arm1176
使用预构建的arm-linux-gcc
来为cortex-A8
编译程序吗?如果可以,我应该注意哪些编译选项?有没有什么权威的书讲这些?
最佳答案
您的问题的答案如下:
不同的开发人员有不同的编译器选项来为 arm 进行编译。我常用的是 Linaro 和 Code Sourcery。您可以在 Google 上搜索这些关键字并轻松找到他们的网站。
arm-linux-gcc 应该支持 gcc 的所有标志和选项,因此与 gcc 相比,所有通用的东西都是一样的。所以你可以使用官方 GNU 网站上的 gcc 文档。对于特定的内容,您可以使用特定编译器的文档。
预构建版本是具有针对特定平台的默认选项的版本,但它们可能还包含一些修复程序或可能的黑客攻击以在特定平台上运行它。例如,在 RPi 的情况下,您不能使用通用的 linaro 工具链,而必须使用预构建的工具链。
关于c - gcc 和 arm-linux-gcc 之间的关系是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25991811/