草庐IT

windows - 在 x64 位版本中获取 windows 目录的变量?

在x64位版本的Windows中,我看到它们也是x86位目录。我们如何使用环境变量获得它? 最佳答案 ListofrecognizedSystemEnvironmentVariablesinWindows例如,对于ProgramFiles(x86),它是PROGRAMFILES(X86)ProgramFiles(x86)下的CommonFiles是COMMONPROGRAMFILES(X86) 关于windows-在x64位版本中获取windows目录的变量?,我们在StackOverf

windows - 错误 : cannot find D:/gstreamer-sdk/0. 10/x86/lib:权限被拒绝:Qt5

我正在Qt5.2.1中开发我的应用程序。在.pro文件中:LIBS+="D:/gstreamer-sdk/0.10/x86/lib"构建项目时出现错误:错误:找不到D://gstreamer-sdk//0.10//x86//lib:权限被拒绝错误:ld返回1退出状态我已经尝试以管理员身份运行到QtCreator并且还递归地授予了gstreamer-sdk目录的完全权限。但仍然面临同样的问题。我也谷歌了,但找不到任何解决方案。指引我正确的方向。提前致谢。 最佳答案 LIBS是一个库列表,而您添加的是一个目录。您需要指定库的名称,例如:

windows - C++Builder - 在汇编中实现整个功能

我正在尝试实现thisinlineassemblytrick在C++Builder中获取EIP的值。以下代码适用于Release模式:unsignedlongget_eip(){asm{moveax,[esp]}}但是它在Debug模式下不起作用。在Debug模式下,代码必须更改为:unsignedlongget_eip(){asm{moveax,[esp+4]}}通过检查生成的程序集;不同之处在于,在Debug模式下,为get_eip()函数(第一个版本)生成的代码是:pushebpmovebp,espmoveax,[esp]popebpret但是在Release模式下代码是:mov

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

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

windows - 在调用 asm 函数之前在 C 中调用 printf 或不调用的神秘副作用?

此程序必须根据用户提供的精度计算圆周率。calculate_pi()函数是用NASM写的。有人可以向我解释为什么如果评论此行://printf("accuracy:%.15f\n",precision);//程序无法正常运行。向calcuta_pi()函数发送奇怪的数字?如果注释掉这一行,就会向函数发送一个非常小的值,程序将无限运行。但如果不是注释程序,则它可以正常工作。#include#includeexterndoublecalculate_pi(doubleprecision);/*externalfunctiondeclaration*/doublecalculate_pi(d

windows - 在 Windows 7 x86 上安装 Thin 时出现问题

我在获取thin时遇到问题在我的Windows7机器上工作(我已经安装了eventmachinev0.8.1):>geminstallthin--ignore-dependenciescheckingformain()in-lc...nocreatingMakefilemake'make'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile.难道没有预编译的二进制文件可用于thin吗? 最佳答案 显然,没有任何预构建的二进制文件。您需要安装C编

windows - 全局描述符表和局部描述符表

我想知道全局描述符表是驻留在每个进程的内存空间中还是在所有进程之间共享。LDT呢?LDTR存储在哪里?谢谢。 最佳答案 http://www.internals.com/articles/protmode/protmode.htmHans-PeterMessmer在一本名为“TheIndespensiblePCHardwareBook”的书中对此进行了一些详细介绍。 关于windows-全局描述符表和局部描述符表,我们在StackOverflow上找到一个类似的问题:

windows - 如何在同一系统上发送 nmi

我需要在我正在使用的系统上发送一个nmi。我想测试我已经实现的一些东西。是否有任何Windows驱动程序例程允许我们这样做?我想我可以使用__outword写入端口。还有其他方法吗?我还有一个问题。是否有任何特定情况会导致NMI?(但是,我不希望系统出现BSOD或三重故障。)谢谢 最佳答案 来自Intel'sSoftwareDevelopmentManual:SystemProgrammingGuide:Thenonmaskableinterrupt(NMI)canbegeneratedineitheroftwoways:Exter

windows - 具有内联 asm 的 Windows x64 平台中的 libsoxr 未编译

我正在尝试编译libsoxr(它由Audacity团队派生自libsox库)库。我可以编译osx32、osx64和win32。他们使用内联汇编,而Windowsx64平台不支持内联汇编。有问题的代码是这样的:#ifHAVE_FENV_H#include#elifdefined_MSC_VER#defineFE_INVALID1#defineFE_DIVBYZERO4#defineFE_OVERFLOW8#defineFE_UNDERFLOW16#defineFE_INEXACT32#defineFE_ALL_EXCEPT(FE_INEXACT|FE_DIVBYZERO|FE_UNDER

windows - Windows x86 堆栈中的堆栈是如何定义的?

首先我要证明我对堆栈的理解很差,然后我要问一个不太连贯的问题,但不能很好地回答,因为这个问题不够具体,无法引出一个精心设计的问题回答。那么,当程序运行时,函数会被压入堆栈-这意味着堆栈指针会递增或递减?栈内存分配到底存放了什么?指向变量数据的指针,指向程序其余部分的指针?我只是不明白堆栈中到底存储了什么(什么数据类型,什么类型的引用,它们是如何存储的)我希望一个函数存储它的局部变量指针和一个指向调用它的地址的指针,以便它可以返回.此外,windowsx86虚拟内存分配实际上将单个虚拟内存块映射到任意多个物理内存地址,因此堆栈在windowsx86系统的物理内存中是否连续?最后,假设堆栈