草庐IT

x86-emulation

全部标签

windows - 在 x64 Windows 上使用 CMake、Ninja 和 Clang 构建 x86 应用程序

我想在我的x64Windows机器上构建一个x86Windows应用程序。我将CMake、Ninja、clang-cl、lld-link和VSBuildTools2017与以下CMakeLists一起使用cmake_minimum_required(VERSION3.9)project(TestCXX)add_library(TestLibSTATIC"")target_include_directories(TestLibPUBLICTestLib/inc)target_sources(TestLibPRIVATETestLib/src/Flop.cppTestLib/src/tes

linux - 如果在一台 x86 主机上运行 2 个 type-2 VMX hypervisor 会怎样?

在IntelVMX操作中,首先需要调用VMXON(VMXON_REGION)来开启CPU中的VMX,然后是VMPTRLD(VMCS_REGION)等我的问题来了。如果两个托管管理程序同时在一台X86主机上运行会怎样?第一个VMXON运行良好,但第二个VMXON将失败。并且2个hypervisor可能会调用VMPTRLD(VMCS_REGION_a)和VMPTRLD(VMCS_REGION_b),CPU中的当前VMCS已更改,它会导致另一个hypervisor崩溃还是它们可以共同-彼此存在?根据我对SDM的阅读,我认为它们不能共存,也许我又错过了一些重要的事情。请帮助澄清这一点。

objective-c - 如何通过 apple libobjc.dll 在 mingw64-x86 中使用 clang 编译 objective-c 源代码?

我在windows平台上编译objective-c源代码时遇到问题。当然在windows平台上编译objective-c源码,我们通常使用gnustep环境(gccobjecitve-c编译器.gnusteplibojc动态库.gnustep基础框架...等)。但我想要一个干净的环境尝试编译器objective-c,并使用不同的libobjc库。从macosx10.6开始。apple将macosx系统移动到x86平台(不再支持ppc),并通过cocoatech.includeiTunes重写系统应用程序。iTunes有windows版本。通过在安装iTunes后搜索系统文件夹。我在以下

windows - 在 C :\Program Files (x86)\MyApp\myapp. cfg 中写入配置文件,与管理员权限

我已经为我的软件制作了安装程序(使用InnoSetup),最终安装在C:\ProgramFiles(x86)\MyApp\myapp.exe像往常一样在Windows平台上运行,并且运行良好。当我的软件试图在此处写入其配置文件时出现问题:C:\ProgramFiles(x86)\MyApp\myapp.cfg这里出现了一个Permissiondenied错误!我找到的唯一解决方案是“以管理员身份运行软件”,但我不喜欢这个解决方案:我不想让最终用户每次都必须执行“以管理员身份运行”他们将使用该软件。是否有一个干净的解决方案可以在C:\ProgramFiles(x86)\MyApp\mya

windows - 如何在 Windows 上使用 x86 perl 系统启动 x64 shell

我使用perl调用systemstart,我需要指定我希望我的程序绑定(bind)到的cpu编号。当我使用x86perl时,它会启动x86cmd来运行启动命令。此x86start不接受参数0x100000000,因为它超过32位长度。如果我使用x64perl,整个过程都很好,因为x64perl启动x64cmd,它接受0x100000000。那么在使用32位perl时如何启动x64cmd来运行start命令?详细信息:首先,我验证了32位cmdshell不接受start/affinity100000000而64位cmdshell接受。在32位cmdshell中,它抛出错误Thesyste

windows - x86 程序中的控制台

.386.modelflat,stdcalloptioncasemap:noneincludewindows.incincludekernel32.incincludeuser32.incincludelibuser32.libincludelibkernel32.libMainproto.datahOutputdd0bReadWrittendd0szText1db"What'syourname?",0hInputdd0szInputdb128dup(0).data?.codestart:InvokeMainInvokeExitProcess,0MainprocinvokeGetStd

windows - 符号如何解决在 x86 调试中使用 FPO 遍历堆栈?

在这个答案中:https://stackoverflow.com/a/8646611/192359,解释了在调试x86代码时,即使使用了FPO(帧指针省略),符号也允许调试器显示调用堆栈。给出的解释是:Onthex86PDBscontainFPOinformation,whichallowsthedebuggertoreliablyunwindacallstack.我的问题是这些信息是什么?据我了解,仅知道函数是否具有FPO并不能帮助您找到堆栈指针的原始值,因为这取决于运行时信息。我在这里错过了什么? 最佳答案 从根本上说,总是可以

windows - 如何使用 Perl 或任何其他语言在 Windows x86-32bit 上找到确切的物理内存量?

我需要知道一台Windows机器有多少物理内存,使用Perl。我试过使用Win32::SystemInfo.但是,此模块声明了以下警告:OnIntelx86computerswithmorethan2GBandlessthan4GBofmemory,theMemoryStatusfunctionwillalwaysreturn2GBforTotalPhys.Similarly,ifthetotalavailablememoryisbetween2and4GB,AvailPhyswillberoundeddownto2GB.所以在一台有2-4GB物理内存的机器上,我得到一个错误的答案。有

windows - x86 程序参数位置

我正在编写一个Windows应用程序,它在汇编中打印命令行参数。我有所有的处理代码。我需要知道的是程序参数在堆栈中的位置 最佳答案 命令行参数并没有真正在堆栈上传递。获取命令行指针的官方方法是调用KERNEL32函数GetCommandLine。 关于windows-x86程序参数位置,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/10401423/

windows - Cygwin-x64 上的 "CPU you selected does not support x86-64 instruction set"错误

我正尝试按照以下说明在cygwin中安装openssl:我从这个网站下载了最新的tarballhttp://www.openssl.org/source/,并将其放入C:\cygwin64\home,然后我从cygwin运行这些命令tarzxvfopenssl-1.0.1e.tar.gzcdopenssl-1.0.1e./配置制作做测试安装(此处的说明:http://www.slideshare.net/ganaaturuu/cygwinandopen-sslinstallguide)直到第3步./config我相信它工作正常,至少没有报告错误,并且它给出消息“已为Cygwin配置”。