5 个解决方案
#1
查看系统位数的shell命令:
1.getconf LONG_BIT
2.uname -a
3.arch
4. file filename
把输出做一个判断就行了吧。
1.getconf LONG_BIT
2.uname -a
3.arch
4. file filename
把输出做一个判断就行了吧。
#2
请楼主结贴给分,不然回答你问题的人会越来越少!!!
#3
首先你的电脑的字必须能处理8字节,也就是64位的硬件寄存器64位,能寻址2*64方。然后向下兼容,你64位操作系统,可以编写,32位应用程序。一个是编译器给一个伪指令。告诉CPU这是32位应用程序。CPU便会用32位处理模式,比如一些32位的一些指令,执行这些代码。
#4
兼容性带来了好处,也带来了坏处,好处是CPU很强大,可以同时支持16位指令和32位指令,运行新老程序畅通无阻。但坏处就是CPU也不知道您想生成16位,还是32位机器码,,需要明确告诉编译器一些信息。为此,编译器提供了伪指令bits,用它来向编译器传达:我下面的指令都要编译成xx位的,bits的指令格式是[bits 16]或[bits 32]。
#5
这事儿得编译器决定吧,你还是老老实实的编译出两套程序来的快。
#1
查看系统位数的shell命令:
1.getconf LONG_BIT
2.uname -a
3.arch
4. file filename
把输出做一个判断就行了吧。
1.getconf LONG_BIT
2.uname -a
3.arch
4. file filename
把输出做一个判断就行了吧。
#2
请楼主结贴给分,不然回答你问题的人会越来越少!!!
#3
首先你的电脑的字必须能处理8字节,也就是64位的硬件寄存器64位,能寻址2*64方。然后向下兼容,你64位操作系统,可以编写,32位应用程序。一个是编译器给一个伪指令。告诉CPU这是32位应用程序。CPU便会用32位处理模式,比如一些32位的一些指令,执行这些代码。
#4
兼容性带来了好处,也带来了坏处,好处是CPU很强大,可以同时支持16位指令和32位指令,运行新老程序畅通无阻。但坏处就是CPU也不知道您想生成16位,还是32位机器码,,需要明确告诉编译器一些信息。为此,编译器提供了伪指令bits,用它来向编译器传达:我下面的指令都要编译成xx位的,bits的指令格式是[bits 16]或[bits 32]。
#5
这事儿得编译器决定吧,你还是老老实实的编译出两套程序来的快。