Questions tagged «32-bit»


19
即使平台相同,也“尝试加载格式错误的程序”
我从64位系统上的32位非托管DLL调用函数。我得到的是: BadImageFormatException:试图加载格式错误的程序。(来自HRESULT的异常:0x8007000B) 最初,我将项目设置为Any CPU平台,因此将它们都更改为x86,但是此错误仍在发生。这确实是我所知道的唯一解决方法。 DLL没有损坏或任何东西,因为我可以将它们与其他程序一起使用(我没有源程序)。我以为也许没有找到依赖性,但是我检查了一下,发现它们都在那里。另外,DllNotFoundException在这种情况下,它不会抛出吗? 我还可以做些什么?在您说“改用64位非托管DLL”之前,让我指出,没有一个。;)


6
从32位应用程序读取64位注册表
我有一个为AnyCPU编译的ac#单元测试项目。我们的构建服务器是一台64位计算机,并安装了64位SQL Express实例。 测试项目使用与以下类似的代码来标识.MDF文件的路径: private string GetExpressPath() { RegistryKey sqlServerKey = Registry.LocalMachine.OpenSubKey( @"SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" ); string sqlExpressKeyName = (string) sqlServerKey.GetValue( "SQLEXPRESS" ); RegistryKey sqlInstanceSetupKey = sqlServerKey.OpenSubKey( sqlExpressKeyName + @"\Setup" ); return sqlInstanceSetupKey.GetValue( "SQLDataRoot" ).ToString(); } 该代码在我们的32位工作站上可以正常工作,并且在构建服务器上也可以正常工作,直到我最近启用了NCover的代码覆盖率分析为止。因为NCover使用32位COM组件,所以测试运行程序(Gallio)作为32位进程运行。 检查注册表,下面没有“实例名称”键 HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Microsoft SQL Server 以32位模式运行的应用程序是否可以访问Wow6432Node外部的注册表?
98 c#  .net  64-bit  registry  32-bit 

9
Java 32位与64位兼容性
针对32位JDK构建和编译为32位字节代码的Java代码是否可以在64位JVM中工作?还是64位JVM需要64位字节代码? 为了提供更多细节,我有在运行32位JVM的Solaris环境中工作的代码,但是现在将JDK和Weblogic Server升级到64位后遇到了问题。

10
将指针转换为整数
我正在尝试将现有代码改编为64位计算机。主要问题在于,在一个函数中,以前的编码器使用void *参数,该参数在函数本身中转换为合适的类型。一个简短的例子: void function(MESSAGE_ID id, void* param) { if(id == FOO) { int real_param = (int)param; // ... } } 当然,在64位计算机上,我得到以下错误: error: cast from 'void*' to 'int' loses precision 我想更正此问题,以便它仍可在32位计算机上且尽可能干净地工作。任何的想法 ?
85 c++  gcc  casting  64-bit  32-bit 

9
64位程序是否比32位版本更大,更快?
我想我专注于x86,但是我通常对从32位到64位的转换感兴趣。 从逻辑上讲,我可以看到常量和指针在某些情况下会更大,因此程序可能会更大。为了提高效率而在单词边界上分配内存的愿望将意味着分配之间会有更多的空白。 我还听说x86的32位模式在上下文切换时由于可能重叠的4G地址空间而必须刷新其缓存。 那么,64位的真正好处是什么? 作为补充问题,128位会更好吗? 编辑: 我刚刚编写了第一个32/64位程序。它制作了16字节(32b版本)或32字节(64b版本)对象的链表/树,并在stderr上进行了大量打印-这不是一个真正有用的程序,也不是典型的程序,但这是我的第一个。 大小:81128(32b)v 83672(64b)-差异不大 速度:17s(32b)v 24s(64b)-在32位OS(OS-X 10.5.8)上运行 更新: 我注意到,正在开发一种新的混合x32 ABI(应用程序二进制接口),它是64b但使用32b指针。对于某些测试,与32b或64b相比,它导致更小的代码和更快的执行速度。 https://sites.google.com/site/x32abi/

5
确定当前的PowerShell进程是32位还是64位?
在x64位OS平台上运行PowerShell脚本时,如何确定该脚本在哪个版本的PowerShell(32位或64位)上运行? 背景信息 默认情况下,在64位平台(例如Windows Server 2008)上安装了32位和64位版本的PowerShell。这在运行必须针对特定体系结构的PowerShell脚本(即使用64位位,用于SharePoint 2010的脚本,以使用64位库)。 相关问题: 针对Powershell的x64与x86可变性进行编程的最佳方法是什么?这个问题涉及在32位和64位体系结构上运行的代码。当您要确保脚本仅针对正确的版本运行时,我的问题涉及这种情况。

3
强制gcc在64位平台上编译32位程序
我有一个专有程序,试图在64位系统上使用。 当我启动安装程序时,它工作正常,但是在尝试更新自身并编译某些模块后,它无法加载它们。 我怀疑这是因为它正在使用gcc,而gcc试图将它们编译为64位系统,因此该程序无法使用这些模块。 是否有任何方法(一些环境变量或类似的东西)强制gcc为32位平台执行所有操作。32位chroot可以工作吗?
70 linux  gcc  32-bit  x86-64 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.