草庐IT

c++ - 打印机驱动程序开发 - 从 32 位到 64 位

我开发了一个为32位系统编译的驱动程序。该驱动程序基于unidriver。有谁知道要使驱动程序与64位兼容需要什么?如果有的话,我需要对代码做哪些更改?还是只需要用64位版本的DDK编译它?提前致谢。努诺 最佳答案 第一步是使用VisualStudio打开项目并添加x64配置。然后,测试并查看它是否构建(可能不会)。最常见的错误(我遇到过)是这些:DWORD->DWORD_PTR+所有相关的具有长版本的Win32api函数指针截断:将在msvc上发出警告,在gcc上发出错误:在适用的情况下将long/int替换为(u)intptr_

c++ - 64位windows文件打开

我正在尝试使用对话框在我的程序中打开一个文件。这在32位系统上完美运行,但是当我尝试在64位系统上使用它时,它无法打开文件。我发现如果试图打开的文件与我的程序位于同一目录中,它就可以正常工作。但是,尝试从另一个文件夹打开文件根本不起作用。因此,我尝试将文件复制到程序文件夹中。这在32位上也能正常工作,但在64位系统上根本不起作用。有什么想法吗?charcwdl[500];getcwd(cwdl,500);stringmystring=string(cwdl);CFileDialogfileDlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST|OFN_HIDEREAD

windows - 使用依赖 DLL 在 Windows 7 上运行 32 位应用程序

我有一个简单的32位应用程序正在运行。它使用Qt和其他库。找出list后,我有一个包含应用程序、list和相关DLL的文件夹。直接从USB内存棒在Windows764位下的目标机器上运行它。将其复制到D:\驱动器上的一个文件夹中,它就可以工作了。将其复制到Programfiles(x86)下的文件夹中,我得到:R6034.AnapplicationhasmadeanattempttoloadtheCruntimelibraryincorrectly.我有一个可执行文件list。按照本论坛其他地方的建议,我还在文件夹中有msvc*.dll的list。那么,为什么除了它应该在的地方以外,它

c++ - 在 Windows 7 64 位中开发 32 位 C++ 应用程序

我在VisualStudio2008(C++)中开发了一个Win32应用程序。它在32位或64位Windows7中运行良好。但是,有时我需要分配相当大的内存缓冲区(应用程序处理大量数据),如果我在64位Windows7中这样做,它会失败,在32位中它运行良好。大内存缓冲区是指一个~250MB和另一个~150MB。我的PC上安装了8GBRAM,根据我的信息,64位操作系统为32位应用程序提供了4GB可用内存。我不需要接近那个限制,malloc仍然失败。任何想法为什么以及我能做些什么?提前致谢。 最佳答案 150MB和250MB并不是特

windows - 64 位 Windows 上的 OpenSSL

我正在尝试在Windows8上构建和链接OpenSSL,我发现它真的令人望而生畏。我应该提一下,我知道以下帖子OpenSSLWindowsx64CompilationerrorHowdoyoucompileOpenSSLforx64?BuildingOpenSSLVC++Static64bitLibs但它们都没有解决我真正需要知道的问题。因此,我决定以新帖子的形式与大家分享我的经验!首先,我可以在Win32操作系统上成功构建和链接OpenSSL,并且它运行良好。我知道Windows8带有WOW64.“WOW64isanx86emulatorthatallows32-bitWindows

c++ - boost::interprocess 共享内存在 32 和 64 位进程之间

我正在尝试让boost::interprocess在32位和64位进程之间共享内存。Thisbugtrackerentry这表明这在我使用的Boost1.49中是可能的。作为测试,我尝试共享一个无符号整数。这是一个带有两个按钮的简单Qt应用程序。#defineSHARED_MEMORY_NAME"Mysharedmemory"#defineSHARED_VAR_NAME"testVar"namespacebip=boost::interprocess;voidon_createMemButton_clicked(){std::cout(SHARED_VAR_NAME)(42);std:

c++ - 从 32 位应用程序 Hook 64 位进程

我正在使用SetWindowHookEx将DLL加载到另一个进程中,但我需要能够挂接到32位和64位进程。我想我需要两个单独的DLL,但是我可以在不创建两个版本的“启动器”应用程序的情况下做到这一点吗?我需要将DLL句柄传递给SetWindowsHookEx,但我无法使用LoadLibrary获取它。 最佳答案 使用进程外COM+对象承载DLL。您可以使用此方法从32位调用64位代码,这样大多数启动器代码都保持不变,除了您决定加载32位或64位COM+对象的if语句。可以对该对象进行编码以将适当版本的DLL加载到进程中,一个用于64

PHP cURL 未加载 Windows 8 64 位

我在64位Windows8下运行Apache2.4和PHP5.4.9。尝试为PHP启用cURL扩展,但未加载。我试过:取消注释模块在php.ini中加载的行(是的,正确的INI文件)复制libeay32.dll和ssleay32.dll到C:\Windows和C:\Windows\System32将php_curl.dll替换为来自:http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/的文件(我知道这不是正确的版本,但值得一试)是DLL文件的问题吗?我在哪里可以找到适用于我的设置的东西?提前致谢!

windows - 24 位 USB 采样率支持

我的问题与这个问题非常相似:Link,但我无权发表评论。我将PIC32实现为声卡,现在我有一个可用的USB音频流,支持16位32kHz和48kHz采样率。我现在想将位深度更改为24位,因此我将USB描述符更改为:bSubFrameSize=0x03,//3bytespersamplebBitResolution=0x18,//24-bitresolution当我执行此操作时,他的位分辨率会按预期更改,但在麦克风的属性中,我可以更改采样频率的下拉菜单是灰色的。我没有更改端点描述符中的任何内容,仍然支持32kHz和48kHz。我的USB拓扑有1个音频控制接口(interface)和几个单元

windows - NPM 已停止在 Windows 7 64 位上工作,在安装/更新时挂起

在某些时候,我的NPM版本停止工作。几周前我尝试更新npm(从1.4随node到现代2.x版本)时似乎发生了这种情况,并且情况越来越糟。我不得不更改环境变量以指向我的Node目录之前的npm目录(以获取新版本的npm),此时一切都停止工作。我将环境变量切换回来,然后更新就会挂起。但奇怪的是,当我尝试调试它并在命令中添加--verbose时,更新在大多数情况下都能正常工作。有时他们卡在npmhttpGEThttps://registry.npmjs.org/PACKAGE_NAME但大部分时间他们都在工作。现在,旧版本的NPM(1.4.1)和我安装的新版本(2.1.17)都会发生这种情况