我有为AnyCPU编译的ac#unit testing项目。 我们的构build服务器是一个64位的机器,并安装了一个64位的SQL Express实例。 testing项目使用类似于以下内容的代码来标识.MDF文件的path: 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位工作站上工作正常,并且在构build服务器上工作正常,直到我最近使用NCover启用了代码覆盖率分析。 由于NCover使用32位COM组件,testing运行器(Gallio)以32位进程运行。 检查registry,下面没有“实例名称”键 HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Microsoft SQL Server 有没有办法在32位模式下运行的应用程序访问Wow6432Node之外的registry?
是否有可能在64位系统上用cmake和gcc编译32位项目? 这可能是,但我该怎么做呢? 当我尝试“无知”的方式,没有设置任何参数/标志/等,只是设置LD_LIBRARY_PATHfind~/tools/lib的链接库似乎忽略它,只能看名为lib64的子目录。
我正试图将现有的代码调整到64位机器。 主要的问题是,在一个函数中,前面的编码器使用一个void *参数,它在函数本身中被转换成合适的types。 一个简短的例子: 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位机器上工作,尽可能干净。 任何想法 ?
我有一个文本文件,以.vbs结尾,我写了下面的内容: Set Conn = CreateObject("ADODB.Connection") Conn.Provider = "Microsoft.ACE.OLEDB.12.0" Conn.Properties("Data Source") = "C:\dummy.accdb" Conn.Properties("Jet OLEDB:Database Password") = "pass" Conn.Open Conn.Close Set Conn = Nothing 当我在Windows 32位机器上执行它时,它运行并结束,没有任何概念(预期)。 当我在Windows 64位机器上执行此操作时,会出现错误 供应商无法find。 它可能没有正确安装。 但它被安装。 我认为问题的根源在于提供者是一个32位的提供者,据我所知它并不是以64位的forms存在的。 如果我通过IIS在64位机器上运行VBScript(作为ASP文件),我可以select它应该以32位模式运行。 它可以find提供者。 我怎样才能find在Windows 64位提供商? 我可以告诉CScript(它执行.vbs文本文件)以某种方式运行在32位模式?
在使用NSIS安装程序进行安装期间,我需要检查系统上安装了哪个JRE(32位和64位)。 我已经知道我可以检查系统属性“ sun.arch.data.model ”,但是这是Sun特有的。 我想知道是否有一个标准的解决scheme。
我有一个位数组实现,其中第0个索引是数组中第一个字节的MSB,第8个索引是第二个字节的MSB等等。 什么是快速find在这个位arrays中设置的第一位的方法? 我查过的所有相关解决schemefind了第一个最不重要的位,但我需要第一个最重要的位。 所以,给定0x00A1,我想要8(因为它是从左边的第九位)。
将Java代码构build和编译为32位JDK转换为32位字节代码是否适用于64位JVM? 或者一个64位的JVM需要64位的字节码? 为了给出更多的细节,我有一个在运行32位JVM的Solaris环境中工作的代码,但是现在我在将JDK和Weblogic Server升级到64位后遇到了问题。
我从64位系统上的32位非托pipeDLL调用函数。 我得到的是: BadImageFormatException:试图加载格式不正确的程序。 (从HRESULTexception:0x8007000B) 起初,我把我的项目设置为任何CPU平台,所以我将它们都更改为x86,但是这个错误仍然在发生。 这真的是我所知道的唯一的修复。 该DLL没有损坏或任何东西,因为我可以使用他们与其他程序(我没有来源)。 我想也许这不是find依赖,但我检查,他们都在那里。 另外,在这种情况下不会抛出DllNotFoundException ? 我还可以做些什么? 而在你说“使用64位非托pipeDLL”之前,让我指出没有一个。 ;)
如何判断我的应用程序运行的JVM是32位还是64位? 具体来说,我可以访问什么功能或偏好来检测程序中的这个?