64位机器上Ubuntu上的gcc可以生成long为32位的可执行文件吗?

问题描述 投票:0回答:3

换句话说,在此环境中可以使用数据模型 LLP64 进行编译吗?请注意,我的指针应该是 64 位的。

gcc 64-bit
3个回答
1
投票

看起来这是可能的(至少对于 AMD 来说)

-m32
-m64
为 32 位或 64 位环境生成代码。 32 位 环境设置 int、long 和指针 到 32 位并生成代码 可以在任何 i386 系统上运行。 64 位 环境将 int 设置为 32 位并且 long 和指向 64 位的指针和 生成 AMD x86-64 的代码 建筑。


1
投票

是的,您可以使用

-m32

http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options

编辑:我在他提到问题中的指针之前写了这个答案。请参阅我的另一个答案


0
投票

我认为这在 Linux 上是不可能的。 详情请参阅维基百科

© www.soinside.com 2019 - 2024. All rights reserved.