草庐IT

mode_bit

全部标签

python - Win 64bit GetThreadContext 返回 zeroe'd out 寄存器,或 0x57 错误代码

我在Windows764位机器上工作(我有管理员权限)。我正在使用Python2.7(64位)和Eclipse的PyDevctypes来尝试读取与特定PID关联的所有线程中的寄存器值(尝试了以64位和32位模式运行的进程的PID),但是当我这样做时,寄存器的值都被清零了。当我使用Wow64GetThreadContext时,调用失败,GetLastError返回0x00000057(根据MSDN,“无效参数”)我成功附加到进程,枚举线程(通过CreateToolhelp32Snapshot),找到具有适当PID的进程所拥有的线程,并尝试获取线程上下文。这是我打开线程并获取线程上下文的代

c++ - 为什么 INTEGRAL_MAX_BITS 会返回小于 64 的值?

我正在尝试弄清楚Windows宏_INTEGRAL_MAX_BITS的预期值。MSDN的__int64documentation说只要使用__int64就应该使用这段代码#ifdefined(_INTEGRAL_MAX_BITS)&&\_INTEGRAL_MAX_BITS>=64typedefsigned__int64int64;typedefunsigned__int64uint64;#else#error__int64typenotsupported#endif为什么我会看到INTEGRAL_MAX_BITS的值低于32?thisquestion中的答案显示在32位Windows上

c++ - 澄清 : Porting 32 to 64 bit

引自http://msdn.microsoft.com/en-us/library/windows/desktop/aa384242%28v=vs.85%29.aspxUseUINT_PTRandINT_PTRwhereappropriate(andifyouareuncertainwhethertheyarerequired,thereisnoharminusingthemjustincase).DonotcastyourpointerstothetypesULONG,LONG,INT,UINT,orDWORD.我可以安全地假设在现有32位代码行中将所有引用的DWORD转换为UNIT

c++ - 在 64 位 Windows 7 (msys2/mingw64) 上构建 GMP 6.1.0 : configure fails due to mp_limb_t is not 64 bits

我尝试在我的Windows764位计算机上构建GMP,因此我运行config.guess并获取k10-pc-msys。(我用的是msys2和mingw64)然后我跑了./configure--prefix=/c/gmp-6.1.0--build=k10-pc-msys--enable-cxx但是这个错误退出了checkingsizeofmp_limb_t...4configure:error:Oops,mp_limb_tis32bits,buttheassemblercodeinthisconfigurationexpects64bits.因此,我再次使用附加的ABI=64运行配置(想

windows - Inno 安装程序 : Use "Program Files" directory on both 32bit/64bit systems with {pf}

常量{pf}是的目录C:\ProgramFiles对于32位系统和C:\ProgramFiles(x86)对于64位系统。不过我想用目录C:\ProgramFiles适用于32位和64位系统。我怎样才能做到这一点? 最佳答案 使用scriptedconstant喜欢:[Setup]DefaultDirName={code:GetProgramFiles}\MyProgram[Code]functionGetProgramFiles(Param:string):string;beginifIsWin64thenResult:=Expa

windows - 如何在 Windows 故障转移群集管理器 2012 中启用 "persistent mode"?

在WindowsServer2008R2中,在集群资源属性的常规选项卡上有一个名为“启用持久模式”的复选框。在WindowsServer2012中似乎已经消失。我的集群资源是一个“通用脚本”资源(没有任何区别)。如何在WindowsServer2012中为集群资源启用“持久模式”?谢谢 最佳答案 经过进一步调查,在我看来,2012要么默认为“持久模式”,要么被硬编码为“持久模式”,并且他们已禁用使用GUI更改值。 关于windows-如何在Windows故障转移群集管理器2012中启用"

c++ - 为什么即使我设置了 THREAD_MODE_BACKGROUND_BEGIN,我的程序还是资源消耗大户?

我有一个结构如下的程序,它是一个巨大的CPUpig。整个系统的IO变慢,我几乎无法移动鼠标指针......为什么?我认为THREAD_MODE_BACKGROUND_BEGIN应该阻止这种情况?#pragmaompparallel{SetThreadPriority(GetCurrentThread(),THREAD_MODE_BACKGROUND_BEGIN);#pragmaompforfor(...){doTruckLoadsOfComputation();if(omp_get_thread_num()==0)doTinyAmountOfIO();//progressindicat

c - 替代 fopen()'s mode "wx"for Windows fopen()?

我有一个基本程序,旨在复制bash的cp命令的功能。我正在为UNIX和Windows开发一个副本。我的UNIX版本运行良好,但是,我发现Windows不支持fopen()的“wx”模式选项,如以下行所示:file2=fopen(argv[2],"wx");是否有其他方法可以在此处为fopen镜像wx功能模式?(wx允许打开具有写访问权限的文件,但如果已存在具有相同文件名的文件,则会返回错误——这意味着您不会覆盖现有文件。参见here。注意:尝试在VS2013的开发人员命令提示符中运行该程序 最佳答案 简短的回答是,您不能传递“wx”

Windows 8 : Doing heap analysis on 32 bit application running through WOW64

首先,这不是关于如何进行堆分析的一般性问题,因为我在早期版本的Windows中对此非常熟悉。但我想知道的是,是否有人成功地对在64位Windows8上通过WOW64层运行的32位应用程序执行堆分析,Windows8是这里的关键词?运行Windows7和Windows调试工具我通常对WOW64层本身不感兴趣)。堆信息完美显示。在Windows8上,执行相同的过程,添加gflags并启动我的进程,启动后内存使用量从40MB增加到140MB,表明gflags已经启动。但是,无论我如何尝试,WinDbg或umdh都无法获取任何堆信息。在通过WOW64运行时,通过运行x64版本并将.effmac

windows - 为什么 .dll 文件中存在 "This program cannot be run in DOS mode"文本?

最近我在编译本地C++DLL项目时打开了一个由VisualStudio9生成的.dll文件,惊讶地看到开头附近的“此程序无法在DOS模式下运行”文本。为什么.dll文件中有这段文字? 最佳答案 dll非常类似于具有不同扩展名的可执行文件。您看到的文本是Windows上“标准”可执行文件头的一部分。它用于(曾经)优雅地中止从DOS运行Windows可执行文件的尝试。 关于windows-为什么.dll文件中存在"ThisprogramcannotberuninDOSmode"文本?,我们在