Can a C compiler generate an executable 64-bits where pointers are 32-bits?

后端 未结 10 1127
陌清茗
陌清茗 2021-02-12 16:51

Most programs fits well on <4GB address space but needs to use new features just available on x64 architecture.

Are there compilers/platforms where I can use x64 regi

10条回答
  •  悲&欢浪女
    2021-02-12 17:29

    Technically, it is possible for a compiler to do so. AFAIK, in practice it isn't done. It has been proposed for gcc (even with a patch here: http://gcc.gnu.org/ml/gcc/2007-10/msg00156.html) but never integrated (at least, it was not documented the last time I checked). My understanding is that it needs also support from the kernel and standard library to work (i.e. the kernel would need to set up things in a way not currently possible and using the existing 32 or 64 bit ABI to communicate with the kernel would not be possible).

提交回复
热议问题