我想编写可以在gcc下轻松编译32或64位linux的代码。我想我正在寻找像
这样的东西#ifdef IA32
subl $0x4, %esp
#endif
#ifdef X86_64
subl $0x4, %rsp
#endif
答案 0 :(得分:2)
您最需要的是_LP64,它是在指针大小为64位宽时定义的
答案 1 :(得分:1)
我相信以下内容应该有效:
#if defined __i386__
subl $0x4, %esp
#elif defined __x86_64__
subq $0x4, %rsp
#else
#error Unknown architecture!
#endif
为您修复了64位代码中sub
的后缀=)