草庐IT

主流的CPU架构

全部标签

windows - 如何在 Windows 上的 x86-64 架构上的程序集中注册结构化异常处理程序?

在x86中,您可以使用以下3条指令简单地注册您的处理程序。pushaddrOfExceptionHandlerpushdword[fs:0]mov[fs:0],esp但这不适用于64位Windows。我读过x64异常处理程序是基于表的,VisualC++的__try和__exceptblock硬连接到异常目录中。这是否意味着微软完全放弃了这种旧方法?那么有没有办法从代码中以编程方式注册处理程序? 最佳答案 Windowsx64使用基于表的异常处理(与使用基于帧的处理的x86不同)。每个图像都有一个与其关联的RUNTIME_FUNCT

c++ - 在我的 C++ 程序中有一种方法可以检查 CPU 是否有 AES-NI

我希望能够在Windows上使用C++代码检查CPU是否具有可用的AES-NI。(MinGW海湾合作委员会)我找到了一个用C#和visualstudio编写的解决方案。TestforAES-NIinstructionsfromC#privatestaticboolIsAESNIPresent(){byte[]sn=newbyte[16];//!!!Herewere8bytesif(!ExecuteCode(refsn))returnfalse;varecx=BitConverter.ToUInt32(sn,8);return(ecx&(1有没有一种简单的方法可以用C++做同样的事情?(

c++ - 计算总 CPU 使用率

计算进程执行期间特定时间总CPU使用率的最佳算法是什么。我正在使用C++开发Windows平台。 最佳答案 GetProcessTimes用于100纳秒分辨率。如果您想要周期时间,请在Vista及更高版本中使用QueryProcessCycleTime。 关于c++-计算总CPU使用率,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/448811/

windows - 在 Windows 7 中更改内存和 CPU 使用率

我想用低性能硬件的Windows机器进行测试。不幸的是我有一台更高端的机器。有没有办法限制CPU和RAM内存使用的性能?我可以通过任何其他软件来完成吗?还是可以通过Windows操作系统本身来完成? 最佳答案 您可以使用VMWare来限制内存。您将无法限制虚拟机中的处理器速度,但您只能为其分配1个内核。 关于windows-在Windows7中更改内存和CPU使用率,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

windows - 写入 CPU 寄存器实际上是如何工作的?

当写入一个寄存器时,比如movax,1,它会覆盖它之前可能拥有的值。现在我想知道的是,我可以将多大的数字/字符串输入寄存器,并且另一个应用程序可以覆盖我的应用程序的寄存器值吗?我的意思是,寄存器是在进程之间共享,还是它们接收自己的沙盒/虚拟寄存器?我对Intelx86(-64)核心CPU和Windows很感兴趣。 最佳答案 在单个内核上一次只能调度一个线程。核心是有寄存器的东西。调度新线程时,首先保存寄存器,恢复线程之前保存的寄存器。这包括程序计数器寄存器,它指向下一条要执行的指令。寄存器(来自内存):AX、BX、CX、DX是16位

c# - 确定系统架构

系统中哪个类的哪些方法提供有关我当前系统是32位还是64位的信息?我想确定在系统上保存对象后交付的内存,例如,对于我当前的IntelDualCore32位XP操作系统,每个4KB 最佳答案 您可以使用Environment.Is64BitOperatingSystem确定您的系统架构,但不清楚“对象保存在系统上后交付的内存”是什么意思。如果您谈论的是何时将数据保存在硬盘上,那么您指的是硬盘的block大小(顺便说一下,如您所描述的,4096B或4K是WindowsNTFS卷的默认block大小)。如果是这种情况,那么这与您的处理器没

c++ - WS_EX_COMPOSITED - 高 CPU

我在我的应用程序中使用WS_EX_COMPOSITED样式但它运行CPU到100%,有没有办法停止我的应用程序绘图一段时间并仅在我需要时恢复?有些人建议使用Sleep's,但我应该将sleep放在WndProc中的什么位置?提前致谢。 最佳答案 不要使用sleep。这是几乎没有问题的解决方案。WS_EX_COMPOSITED确实会占用CPU,但根据我的经验,主要是在XP上。在Vista及更高版本上,性能受到的影响要小得多。但是,如果您的应用处于空闲状态,则它不会重新绘制。如果您的CPU为100%而应用程序处于空闲状态,那么您的WM_

c# - 如何在 Windows 中的那个时刻查找特定进程的 cpu 使用率

是否有可能在Windows中以编程方式(以任何语言)了解正在运行/空闲进程的CPU使用情况? 最佳答案 如果您不关心支持旧的Windows版本(早于WindowsXPSP1),您可以使用GetSystemTimesWin32APIfunction.否则你必须使用PerformanceCounters. 关于c#-如何在Windows中的那个时刻查找特定进程的cpu使用率,我们在StackOverflow上找到一个类似的问题: https://stackover

linux - 为什么一个操作系统 (Windows) 的二进制文件不能在同一底层架构的其他操作系统 (Linux) 中运行?

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭9年前。Improvethisquestion这可能是一个微不足道的问题,但我很难向我的弟弟解释,即使两个操作系统都在同一台机器上运行,Windows二进制文件也不会在另一个不同的操作系统(如Linux)中运行。如果二进制文件(操作码)必须相同才能在相同的底层架构(比如Intel32位)中执行,那么Windows和Linux(甚至Ubuntu和RadHatLinux)的二进制文件之间有什么区别?在处理器执行之前,是否在指令级别对二进制文件进

windows - 如何在 Windows 系统之间恢复/移动 PostgreSQL 数据库架构和数据库?

我在WindowsXP上使用PostgreSQL9.2数据库。该数据库安装在操作系统分区下。不幸的是,我的硬盘驱动器坏了,但它可以用作第二个驱动器而不是可引导驱动器。所以我有我的PostgreSQL9.2文件夹,我可以从哪里检索我的数据库架构? 最佳答案 除非你在上次安装时做了一些奢侈的事情,否则你需要的所有文件都应该在数据目录中。这包括模式、配置和您用户创建的数据库。如果您运行安装程序(而不是手动设置),如果您使用某种安装程序,它可能会放入以下路径(对于Windows):C:\ProgramFiles\PostgreSQL\\da