我知道这是一个奇怪的问题,但我想知道是否有可能在Solaris上使用g ++编译64位的32位指针。最终的对象需要是64位,但是我的指针偏移量中的一个在Solaris上越来越大,如果我使用64位编译,它在窗口中。这是一个很大的问题。我想知道是否有可能在我的64位编译对象中创建一个32位指针。32位指针在64位Solaris编译
1
A
回答
0
您不能更改常规指针,指针的大小是sizeof(void *)
。如果可以的话,你将在64位系统上使用32位指针做什么?
你是指C中的指针还是你可能指向文件偏移的指针?
1
指针大小是您的目标架构的属性,因此您不能混合和匹配32位和64位指针。我强烈建议重新考虑你的设计(这听起来像将指针指向整数和返回的常见错误)。理论上你可以使用“有限延伸”偏移量,但是再次请问自己为什么,以及什么是更好的方法做到这一点。
0
如果你有指针类型,那么你不应该在64位程序中使它成为32位。如果它只是一些与内存模型无关的偏移量,那么您可以在不同平台上使用不同类型的稳定大小,如uint32_t
。
0
在64位机器上“需要”32位指针是没有意义的。我也是不明白这一行:
最终的目标将需要64位然而
我会仔细看看,并尝试修复您的最终的bug。如果您发布了一些示例代码,我们可能会提供更多帮助。
相关问题
- 1. 在64位Linux上编译32位libGLEW.so
- 2. 在64位DMD上编译32位
- 3. 从Win7编译32位64位
- 4. Java类编译64位32位
- 5. 将32位代码编译为64位
- 6. 在32/64位系统上使用16位指针的C++
- 7. 编码/在32位和64位
- 8. 64位eclipse rcp产品不能运行在64位OS + 32位编译和捆绑JDK 1.7 32位套件
- 9. VS COM项目编译在32位,但在尝试编译64位
- 10. 在64位Ubuntu上编译32位Fortran程序14.04
- 11. 在Windows 64位上运行的Matlab 32位编译MEX文件
- 12. SetupDiCallClassInstaller在64位机器上为32位编译时引发ERROR_IN_WOW64。
- 13. 强制gcc在64位平台上编译32位程序
- 14. 在64位计算机上编译32位非托管DLL
- 15. 在64位机器上编译静态32位Qt
- 16. gcc:在32位平台上编译64位二进制文件
- 17. 在64位机器上编译32位matlab应用程序(C++)
- 18. 试图在OS X上编译32位和64位的GNU库
- 19. 在64位系统上将Asp.NET编译为32位
- 20. 指针递增差异黑白32位和64位
- 21. 将32位指针传递给64位COM控件
- 22. 64位程序集的32位指令
- 23. 需要在64位Redhat机器上配置/编译/编译32位的libxml2
- 24. C# - 在32位和64位
- 25. XOR高32位,低32位,64位数
- 26. 动态库的链接问题的Solaris(32位和64位)10
- 27. 编译32位VS 2003项目到64位
- 28. MinGW GCC - 单个32位和64位交叉编译器?
- 29. pybind11“Python是64位,选择编译器是32位”
- 30. 编译64位Linux的32位GTK +应用程序
你应该修改这个问题来谈论你真正想做的事情 - 可能比依靠指针大小在平台之间相同的方法更好。描述目标,而不是步骤(http://catb.org/~esr/faqs/smart-questions.html#goal)。 – 2009-10-28 19:23:14
在这个问题中缺乏具体细节,很难回答。什么是“大问题”?它如何防止指针偏移量在64位窗口中变大?即使你的问题的第一部分没有多大意义“是否有可能在64位编译中创建一个32位指针”......我无法弄清楚你的意思。 – 2009-10-29 12:45:21