我理解gcc的方式,/ usr/bin/gcc(和其他與gcc相關的位,如ld)是一個小的包裝器,委託給系統中某個特定於平臺的二進制文件。當包裝是與特定於平臺的二進制文件不同的版本時,gcc是否工作?
因此,如果您的交叉編譯器是/ usr/bin/gcc後面的一些版本,編譯工作仍然正常嗎?
我理解gcc的方式,/ usr/bin/gcc(和其他與gcc相關的位,如ld)是一個小的包裝器,委託給系統中某個特定於平臺的二進制文件。當包裝是與特定於平臺的二進制文件不同的版本時,gcc是否工作?
因此,如果您的交叉編譯器是/ usr/bin/gcc後面的一些版本,編譯工作仍然正常嗎?
是的,整個想法是允許gcc安裝在不同的版本和不同的目標平臺(以任意組合)並行安裝。
/usr/bin/gcc只是使用fork + exec來調用實際的編譯器。給gcc的命令行參數只傳遞給實際的編譯器,但有兩個例外:-V和-b。後者選擇目標平臺前者爲編譯器的版本。
您不會使用/ usr/bin/gcc進行交叉編譯。相反,你會在另一個前綴中安裝另一個編譯器例如,如果你在Debian/Ubuntu的您可以通過安裝一個明(win32)中的交叉編譯:
的apt-get安裝的mingw32
這將完全正常工作並排與正常GCC。