我有一个64位系统,但gcc是32位,当我这样做时
>./gcc -c foobar.c
它使foobar.o
为64位。好的,但它怎么知道呢?基于它知道生成64位对象的环境设置,以及记录在哪里?
来想一想,这样做很奇怪,不是吗?但是file
实用程序清楚地说,gcc是32位而foobar.o是64位。 (我将所有内容都移到同一个目录中,这样就不会混淆了。)
我还检查了它读取的3个动态链接库:libc,libm和libz,它们也都是32位。
为了澄清,我不想知道,如何使它做32位。我想知道,是什么它正在看现在它使它做64.这是我的问题,而不是如何强迫它反过来。
答案 0 :(得分:0)
配置GCC时,可以指定三个不同的系统:
您可以通过运行来查看GCC的配置方式:
gcc -v
命令(查找 - {build,host,target}选项。