c++ - 在 64 位机器上将 ponters 限制为 32 位

标签 c++ 32bit-64bit

我有一个在 32 位上运行良好的库;但是客户端需要从 64 位应用程序链接它。然而,改变指针的大小是一个问题,因为我们必须将它们存储在 32 位值中。

是否可以告诉编译器(Visual Studio 和 GCC)创建 64 位库,但在内部仅使用 32 位地址空间?

最佳答案

没有。 sizeof(void*) 是一个常量。它可以是 4 或 8,但不能是 4 8。

关于c++ - 在 64 位机器上将 ponters 限制为 32 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40772342/

相关文章:

c++ - 使用带有派生类的 boost 序列化时出现错误 LNK2005(已在对象中定义)

c++ - 将 deque 转换到 void 指针和从 void 指针安全吗?

installation - WiX 将引导 x86 和 x64 msi 刻录到单个无 UI Bootstrap 中

installation - 从 32 位安装程序写入 64 位注册表

linux - 在 64 位系统上使用 gcc -m32 编译应用程序

c++ - 绕 z 轴旋转相机 45 度可以,但不能绕 x 轴旋转

c++ - 这个极其简单的线程监视器实现有什么不安全的地方?

c++ - 在哪里可以找到构建 DirectShow BaseClasses 的项目?

windows - 我在哪里可以获得与 Windows Server 兼容的 32 位版本的 IESHIMS.dll 和 GPSVC.dll?

python - 如何在 64 位 Linux 上构建 32 位 python 2.6?