当前位置: 技术问答>linux和unix
gcc在32位和64位的LINUX机器上默认编译出来的程序是对应版本么?
来源: 互联网 发布时间:2017-01-18
本文导语: gcc在32位和64位的LINUX机器上默认编译出来的程序是对应版本么? 比如32位的机器上gcc -o ...是不是出来的i386版本? 比如64位的机器上gcc -o ...是不是出来的x86_64版本? 需要额外指定参数么??? | ...
gcc在32位和64位的LINUX机器上默认编译出来的程序是对应版本么?
比如32位的机器上gcc -o ...是不是出来的i386版本?
比如64位的机器上gcc -o ...是不是出来的x86_64版本?
需要额外指定参数么???
比如32位的机器上gcc -o ...是不是出来的i386版本?
比如64位的机器上gcc -o ...是不是出来的x86_64版本?
需要额外指定参数么???
|
不是,你得先看
gcc -v 出来的信息是啥,是native的还是交叉编译器,还是mutiple libs的
有的版本不是mutiple libs
如果是multiple的,一般在64位机上,什么都不加是64位版本,加-m32是32位版本
gcc -v 出来的信息是啥,是native的还是交叉编译器,还是mutiple libs的
有的版本不是mutiple libs
如果是multiple的,一般在64位机上,什么都不加是64位版本,加-m32是32位版本
|
默认是本机的,直接可以运行
|
看目标即可
目标:x86_64-redhat-linux
那么默认生成64位程序
multiple lib为默认,如果你有32位运行库的话可以加-m32生成32位程序
目标:x86_64-redhat-linux
那么默认生成64位程序
multiple lib为默认,如果你有32位运行库的话可以加-m32生成32位程序