针对不同目标的Gcc编译

时间:2013-12-29 15:03:38

标签: gcc cross-compiling isa

我只是想了解一些关于交叉编译器的事情让我问这个问题。 gcc是一个交叉编译器 默认情况下,gcc编译的目标体系结构如果没有指定则是我编译源的本机目标。正确吗?

如果以上是正确的,那么即使明确指定了几种不同的架构,它如何设法生成代码?
它不应该知道所有ISA的吗?这是如何管理的?他们是否拥有所有现有ISA的所有信息?

1 个答案:

答案 0 :(得分:2)

为特定的目标构建给定(特定)gcc。使用gcc -v找出哪个。

通常,交叉编译器作为不同的命令安装,例如关于Atmel AVR处理器的Debian avr-gcc(具体options ...)

在某些体系结构和系统(通常是x86和Linux)上,您可以编译不同的变体。见this。特别是,您可能希望使用-mtune=native-march=haswell-m32 ...

如果您自己source tarball建立gcc,则会在配置时间configure options(例如--program-suffix=-avr--target=avr为{ {1}}等......)