31得票2回答
使用intptr_t代替void*?

我应该使用 intptr_t 作为通用存储(用于保存指针和整数值)而不是 void*,这是一个好主意吗?(如此处所示:http://www.crystalspace3d.org/docs/online/manual/Api1_005f0-64_002dBit-Portability-Chang...

31得票4回答
32位机器上的__int64?

我刚刚在我的32位机器上尝试了一些MSVC 2010的东西,并发现我可以在我的程序中使用__int64——而且它实际上是有效的! 这是怎么可能的?

31得票2回答
GWL_USERDATA的替代方案是什么,用于存储对象指针?

在我所工作的Windows应用程序中,我们有一个自定义的框架直接位于Win32之上(不要问为什么)。当我们创建一个窗口时,我们通常会通过SetWindowLong(hwnd, GWL_USERDATA, this)将this放入窗口的用户数据区域中,这样我们就可以拥有类似MFC的回调或者紧密集...

30得票5回答
Visual Studio 2010 WebDev WebServer(Cassini)兼容64位吗?

我目前在64位操作系统(Windows Server 2008 64位)上使用Visual Studio 2008进行开发。 虽然我编写的应用程序支持64位,IIS7也支持64位,但内置的ASP.NET Development Server(又称Cassini或WebDev.Webserve...

30得票3回答
在32位和64位平台上使用sizeof的printf:如何以平台无关的方式处理格式代码?

我有一些代码,可以打印出程序使用的内存量。这行代码类似于这样:printf("The about of RAM used is %u", anIntVariable*sizeof(double) ); 在这里,anIntVariable是一个int类型的变量,表示double数组中元素的数量。...

30得票3回答
从x64 .NET访问x86 COM

我有一台x64服务器,由于我的库是编译为AnyCPU,因此在x64下运行。我们需要访问一个在x86下注册的COM组件。我对COM了解不足,我的谷歌搜索也没有结果。 问题:我可以使用符号注册表链接从x64返回到x86以供COM组件使用吗? 我是否还需要在x64下注册COM组件?我能否(在这里添...

30得票4回答
macOSX-version-min指的是什么?

当我传递编译器标志-mmacosx-version-min = 10.5时,这意味着什么?我认为这意味着结果二进制文件是x86,而不是ppc,但它是32位还是64位?我正在Snow Leopard上编译,因此默认输出二进制文件是64位。我没有传递-universal,我认为它不是32位-64位...

28得票8回答
64位平台上编译时出现针对`.rodata'的Relocation R_X86_64_32S错误...

我一直在32位上编写代码,昨天需要构建一个dll文件,但是遇到了一些问题。不过,我已经在这里解决了它们。 不幸的是,即使我认为一切正常工作,当我把我的程序和makefile移动到运行在64位上的其他计算机时,我发现情况并非如此,你可以猜到发生了什么...... 所以,我的问题与64位的重定...

28得票4回答
使用cmake强制选择32位或64位构建选项

我希望提供一种方法,使用cmake始终将我的目标构建为32位或64位可执行文件,而与主机系统无关(为gcc添加“-m32”或“-m64”标志,其他编译器尚不确定该怎么做)。 我能想到三种方法,应该使用哪种方法? 选项(-DUSE32bit=true) 工具链(-DCMAKE_TOOLCH...

26得票5回答
将一个32位变量向左移动32位有什么坏处?

最近我买了Bruce Schneier写的应用密码学一书,读起来很不错。现在我已经理解了书中介绍的一些算法的工作原理,想在C语言中开始实现其中的几个算法。 许多算法共同点是将一个x位密钥分成多个较小的y位密钥。例如,Blowfish的密钥X为64位,但需要将其拆分为两个32位的半部分Xl和X...