当前位置: 技术问答>linux和unix
makefile 怎样得到linux是32位,还是64位?
来源: 互联网 发布时间:2016-05-12
本文导语: 在make文件中,怎样得到linux是32位,还是64位? 根据不同的系统运行不同的指令. 谢谢! | 大概是这个样子: ARCH = `uname -m` @if [ $(ARCH) eq "x86_64" ]; then #it's a 64-bit system else #it's 32-bit fi ...
在make文件中,怎样得到linux是32位,还是64位?
根据不同的系统运行不同的指令.
谢谢!
根据不同的系统运行不同的指令.
谢谢!
|
大概是这个样子:
ARCH = `uname -m`
@if [ $(ARCH) eq "x86_64" ]; then
#it's a 64-bit system
else
#it's 32-bit
fi
ARCH = `uname -m`
@if [ $(ARCH) eq "x86_64" ]; then
#it's a 64-bit system
else
#it's 32-bit
fi
|
通常的做法是用"uname -m"来判断是32位还是64位。
|
uname -m
输出可能会有些不同
比如 x86_64, AMD64, i686 之类的
输出可能会有些不同
比如 x86_64, AMD64, i686 之类的
|
除了uname -m,据说还可以用
arch
或者
getconf LONG_BIT
或者
getconf WORD_BIT
arch
或者
getconf LONG_BIT
或者
getconf WORD_BIT
|
在makefile里用脚本判断即可,arch或uname -m都行
|
要移植多个平台的项目不要直接用Makefile,用auto*或者CMake