3
我有一個64位系統,但GCC是32位的,當我做什麼告訴32位GCC在64位系統上,使64位二進制
>./gcc -c foobar.c
它使foobar.o
這是64位。好的,但它是如何知道這麼做的?基於它知道什麼樣的環境設置來生成64位對象,以及在哪裏記錄?
想想看,它真的很奇怪,不是嗎?但file
實用程序明確指出,gcc是32位,foobar.o是64位。 (我把所有的東西都移到了相同的目錄下,所以不會混淆)。
我也檢查了3個動態鏈接庫,它讀取的內容如下:libc,libm和libz,它們也都是32位。
澄清,我不想知道,如何使它做32位。我想知道,什麼它看着現在,它使它做64.這是我的問題,而不是如何強制它反過來。
你完全確定gcc二進制文件是32位可執行文件嗎? – nos
@nos是的,我檢查了(用'file'工具),實際上,我從32位設置中移除了'gcc'二進制文件(不要問爲什麼)。 –
你用-m64試過了嗎? – perencia