gcc中的--host和--target有什么区别?

ask*_*ker 8 gcc cross-compiling

构建知道有三个系统名称:您正在构建的机器(构建),您正在构建的机器(主机),以及GCC将为(目标)生成代码的机器.配置GCC时,请使用'--build =',' - host ='和'--target ='指定它们.

是不是the machine that you are building forthe machine that GCC will produce code for同样的事情?有什么不同?

Ned*_*Ned 10

可以将gcc构建为交叉编译器.也就是说,您可以构建在一个体系结构(主机)上运行的gcc,但为不同的体系结构(目标)生成代码.

您将遇到的常见问题是为嵌入式平台构建代码.如果你正在为冰箱里的处理器编写代码,你有点想在桌面上构建它,而不是在冰箱里!

有些人使用交叉编译器为同一架构上的不同操作系统构建代码.例如,可以使用MinGW工具链从Linux主机定位Windows .

  • build = 我在哪里编译编译器,host = 编译器将在哪里运行,target = 编译器将生成什么代码。如果我在桌面上构建一个新的编译器,它将在我的桌面上运行并为我的冰箱生成代码,则 build=desktop、host=desktop、target=fridge。 (2认同)