当包装器的版本不同于特定于平台的二进制文件时,gcc是否工作?

当包装器的版本不同于特定于平台的二进制文件时,gcc是否工作?,gcc,Gcc,我对gcc、/usr/bin/gcc(以及与gcc相关的其他位,如ld)的理解是一个小包装器,它将特定于平台的二进制文件委托给系统上的其他地方 因此,如果您有一个跨编译器,它在/usr/bin/gcc之后有两个版本,那么编译是否仍能正常工作?是的,整个想法是允许以不同版本安装gcc,并允许以并行方式安装不同的目标平台(任何组合) /usr/bin/gcc只使用fork+exec调用实际的编译器。给gcc的命令行参数只传递给实际的编译器,但有两个例外:-V和-b。后者选择目标平台,前者选择编译器版

我对gcc、/usr/bin/gcc(以及与gcc相关的其他位,如ld)的理解是一个小包装器,它将特定于平台的二进制文件委托给系统上的其他地方


因此,如果您有一个跨编译器,它在/usr/bin/gcc之后有两个版本,那么编译是否仍能正常工作?

是的,整个想法是允许以不同版本安装gcc,并允许以并行方式安装不同的目标平台(任何组合)


/usr/bin/gcc只使用fork+exec调用实际的编译器。给gcc的命令行参数只传递给实际的编译器,但有两个例外:-V和-b。后者选择目标平台,前者选择编译器版本。

您不会使用/usr/bin/gcc交叉编译。相反,您将在另一个前缀中安装另一个编译器。例如,如果您使用的是debian/ubuntu,您可以通过以下操作安装ming(win32)交叉编译器:

apt获取并安装mingw32

这将与正常的gcc并排工作