草庐IT

虚拟列表

全部标签

windows - 为什么在 Windows Vista x64 上调用 GlobalMemoryStatus 时可用物理内存 (dwAvailPhys) > 可用虚拟内存 (dwAvailVirtual)

我正在使用MSDN样本进行内存压力测试(请参阅:http://msdn.microsoft.com/en-us/magazine/cc163613.aspx)和专门占用物理内存的该工具的扩展(请参阅http://www.donationcoder.com/Forums/bb/index.php?topic=14895.0;prev_next=next)。我显然对虚拟内存和物理内存之间的区别感到困惑。我以为每个进程都有2GB的虚拟内存(虽然我也读了1.5GB因为“开销”)。我的理解是这个虚拟内存的一些/全部/没有可能是物理内存,而一个进程使用的物理内存量进程可能会随着时间的推移而改变(内

python - 是否可以在 Windows 中获取打印机名称列表?

我正在尝试为Windows创建自动打印机安装程序。如果我想提取打印机列表,我将如何在Python中实现?我知道有一种方法可以在命令行上使用VB脚本获取列表,但这给了我不需要的额外信息,而且没有真正好的方法将数据导入Python(据我所知)这样做的原因是获取值并将它们放入列表中,然后让它们对照另一个列表进行检查。一个列表中的任何内容都将被删除。这可确保该程序不会安装重复的打印机。 最佳答案 您可以使用pywin32的win32print.EnumPrinters()(更方便),或通过ctypes模块调用EnumPrinters()AP

windows - 来自图像列表的PNG图像

如何从TImageList中获取图片并将其放入TImage(或将其作为TGraphic返回)?重要的一点是TImageList可以包含32-bppalpha混合图像。目标是获取这些alpha混合图像之一并将其放置在TImage中。这意味着在某些时候我可能需要一个TGraphic。尽管严格来说,我的问题是关于将ImageList中的图像放入Image中。如果这可以在没有中间TGraphic的情况下完成,那也很好。我们想要什么?我们想要一个函数的核心:procedureGetImageListImageIntoImage(SourceImageList:TCustomImageList;I

windows - 任务列表显示所有窗口

我正在运行以下批处理脚本:@echoofftasklist/nh/fi"WindowtitleeqExporttoPDF-DOORS"|find/i"ExporttoPDF-DOORS">nul&&(echoPDFisrunning)||(echoPDFisnotrunning)如果窗口当前处于事件状态,这只会回显“PDF正在运行”。也许我使用了错误的命令(任务列表)。有没有办法在打开的窗口的完整列表中找到? 最佳答案 我能够通过VB脚本获得我需要的东西(感谢@JoshGuzman的想法):SetWord=CreateObject(

linux - 虚拟内存澄清 - 大连续内存的分配

我有一个应用程序,我必须在Windows上(使用operatornew)分配相当大的内存空间(数百MB)。该应用程序是32位的(我们现在不使用64位,即使在64位系统上也是如此)并且我启用了/LARGEADDRESSAWARE链接器选项以便能够使用4GB的用户空间内存。问题如果我需要分配,比如450MB的连续内存,进程的虚拟地址空间是否需要有足够大的连续空间和另外物理内存不必在系统上碎片化?我问这个是因为我可以这样做,以便我的应用程序保留足够大的连续空间,但不知道系统上的其他应用程序是否会以这种方式影响我。操作系统页表是否需要将应用程序看到的连续虚拟地址转换为连续物理地址?

c - 虚拟地址如何转换为其在后备存储上的物理地址?

我们有地址转换表来将进程的虚拟地址(VA)转换为其在RAM中的相应物理地址,但如果该表没有任何VA条目,则会导致页面错误,内核会转到后备存储(通常是硬盘驱动器)并获取相应的数据并更新RAM和地址转换表。所以我的问题是操作系统如何知道后备存储中VA对应的地址是什么?它有单独的翻译表吗? 最佳答案 进程从分配虚拟内存开始。当程序开始实际寻址虚拟内存地址时,最终将导致页面错误。操作系统知道内存访问是有效的。因为它是显式分配的。所以没有造成任何伤害,操作系统只是将VM地址映射到物理地址。如果页面错误是针对一个地址,而该地址之前不是被请求为有

c++ - 是否可以强制Linux在释放后使虚拟内存失效

在Windows上,我注意到尝试取消引用指向最近释放的内存的指针会导致崩溃,并被VisualStudio困住,指出内存无效。这符合预期。但是,执行相同的应用程序和代码路径导致取消引用指向最近释放的内存的指针不会立即导致Linux崩溃。这向我表明Linux内核(或GNUC++运行时)不会很快使释放的内存失效,即使在调试版本上也是如此。该应用程序需要更长的时间才能崩溃。是这样吗?如果是这样,我可以强制更快地取消映射内存吗?如果不是,那是怎么回事? 最佳答案 你试过了吗http://valgrind.org/?它的目的是帮助追踪问题,例如

windows - 获取正在运行的进程列表

我在Windows机器上工作,想直接从R获取所有正在运行的进程的列表(基本上是进程ID和正在运行的程序的路径)。我知道Sys.getpid()获取当前R进程的进程ID,但是否也存在一些东西可以让我在机器上运行所有进程,就像我在Linux中使用top或ps-x 最佳答案 您可以使用任务列表:system2('tasklist',stdout=TRUE)[1]""[2]"Nomdel'imagePIDNomdelasessioNum‚rodesUtilisation"[3]"===============================

c - OSX/iOS 上的虚拟内存与 Windows 提交/保留行为

将OSX/iOS中的虚拟内存系统行为与Windows中的虚拟内存系统行为进行比较时,我有点困惑。WindowsVirtualAlloc()相关函数及其在保留和实际内存提交和取消提交方面的行为相当简单。对于没有很好讨论的OSX,我一直在研究mach_vm_allocate()、mach_vm_map()等。例如,如果我想创建一组跨平台函数来公开Windows和OSX/iOS之间的公共(public)虚拟内存功能,我将如何管理与Windows相比,OSX上的提交/取消提交之间的区别?因为我不确定我是否理解您是否可以保留虚拟地址范围并将其作为像在Windows上一样的单独操作提交?根据我的理

c# - 如何获取用户最近和/或经常打开的文件列表?

我想获得用户a)最近打开的文件列表和/或b)经常。这些信息在Windows操作系统上是否可用(需要支持一直到XP的所有系统),如果是,是否可以通过.NETFramework使用这些数据?在Google上搜索该主题有点困难,因为结果总是指人们只想为自己的应用程序实现相同目标的解决方案(即创建最近使用的文件列表)。我在操作系统级别需要同样的东西,而不仅仅是使用我创建的应用程序打开的文件。 最佳答案 一个简单的解决方案是使用Environment.SpecialFolder.Recent:stringpath=Environment.Ge