草庐IT

虚拟地址

全部标签

windows - 16 位程序是否在 32 位操作系统上以虚拟 8086 模式运行?

我想确认几件事。我正在为8086编写汇编语言程序。我正在使用masm611汇编器进行组装。如果我在32位窗口的命令提示符下运行和调试808616位实模式程序,它是否使用和修改实际的cpu寄存器和内存?windows32bit下程序运行在virtualmode86吗?此外,如果我使用PWBMicrosoftProgrammers’Workbench中的CodeView调试器调试程序,如下所示:PWB请确认CodeView调试器中的寄存器和内存值是否是硬件中的实际值并且正在变化。此外,当我在PWB中运行程序时,它使用32位Windows下的实际硬件。 最佳答案

c++ - 在不同项目(没有编译时链接)中使用的 header 中声明的纯抽象 C++ 类是否共享相同的虚拟表模型?

我有一个C++头文件声明了一个仅由纯虚方法组成的类。我有两个使用该header的DLL(其中一个实现该接口(interface))但在编译时未链接。一个DLL正在动态加载另一个,将已实现接口(interface)的指针传递给另一个。这些DLL是否共享相同的虚拟表结构? 最佳答案 当然,类头足以构建完整的类(这里说的是内存中的布局,一切都是如何定位的,而不是里面的实际数据),包括精确的虚拟表结构。想一想,每个链接对象(您的.cpp文件)都是单独编译的,只有头文件是共同的,但在编译时,编译器必须知道虚拟表的精确结构才能正确路由虚拟调用。

连接到本地虚拟机

我怀疑这有一个我忽略的简单解决方案,可能与客户端或它的设置方式有关。无论如何,我正在尝试设置一个简单的Echo服务器/客户端来了解套接字编程的基础知识。我有一台运行LinuxMint的虚拟机,主机运行的是Windows10。我设置的虚拟机运行服务器c代码,而Windows将运行客户端。我开始编写服务器代码//EchoServerforUNIX:UsingsocketprogramminginC,aclientsendsastring//tothisserver,andtheserverrespondswiththesamestringsentbacktotheclient#includ

c++ - Windows中是否有任何内存虚拟文件API?

我有一个模块通过它的路径加载一个文件,但是我发现它很慢。我想加速它,Windows有没有什么技术可以为模块创建虚拟内存文件?非常感谢 最佳答案 我测试了BoxedAppSDK.它很棒,但它不是免费的:) 关于c++-Windows中是否有任何内存虚拟文件API?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4273328/

c++ - 我们可以假设内存地址的最后 2 位为 00 并重用这些位吗? Windows 7页面错误蓝屏

我的friend在64位Windows7PC上用C++编程,他想出了一个疯狂的想法来节省一点内存:他观察到他的内存地址的最后2位似乎总是00,所以他认为他可以将这些位用于其他用途,然后在需要内存地址时,只需使用位掩码将最后2位设置为0,无论是在写入还是读取内存时。他只使用最后2位的原因是它也需要在32位系统上工作。无论如何,在他的Windows764位系统上,他在运行程序时遇到以下蓝屏错误:PAGE_FAULT_IN_NON_PAGED_AREA会不会是他疯狂的内存节省想法造成的?也就是说,有时会发生内存地址的最后2位不是00的情况,并且他正在访问的内存部分位于他的一个内存页面上,部分

c++ - 虚拟列表控件 (MFC)

我正在使用列表控件来显示vector中元素的表示。单击列表时,另一个控件会显示有关该元素的信息。元素的索引当前由它在控件中的索引确定,但是如果我想对结果进行排序或过滤,这将不再有效。有人告诉我可以使用虚拟列表控件,但MSDN不是很友好,有人可以告诉我如何为此使用虚拟列表控件吗? 最佳答案 坦率地说-将数据(数据vector中的位置)与列表控件中数据的呈现(列表ctrl中的位置)联系起来是我会远离的事情。在MFC中,每个控件都有一个“数据”DWORD成员变量——在MFC中编码时,我总是为添加的每个项目调用“SetItemData”,并

asp.net - 使用虚拟化进行 Web 开发的优势

这是我经常看到但从未真正想到的事情之一。您认为以Web应用程序开发为目的(特别是ASP.NETWebForms/MVC)。您认为做这样的事情有好处吗?如果有,会带来什么样的好处?我所说的虚拟化是指使用Hyper-V等产品来分离SQL和Web服务器等服务器上下文。 最佳答案 第一个问题是,什么的虚拟化?你的意思是服务器虚拟化?您的意思是在每个开发人员的笔记本电脑上运行VMWare和多个操作系统吗?您的意思是将所有内容都移动到云端吗?服务器虚拟化,在Web应用程序环境中,与一般IT并没有真正的不同-互联网上的大多数服务器,包括Stack

c++ - 查明 IP 地址是否可达的最佳和快速方法

我需要最快的方法来查看IP地址是否可达。在每个IP地址上都有一个服务器在特定端口上监听,所以如果您的方法是要查找服务器是否在端口上监听,请告诉我。这样做的原因是假设我有10个ip地址,每个ip地址上有10个服务器监听端口101。我希望我的客户能够找到一个可达的ip地址并尽可能快地连接到它(我不希望他等待30秒才能确定一个ip地址是否可达,然后尝试下一个ip地址列表)可能必须同时进行。 最佳答案 虽然您可以快速确定IP是否可达,但您的问题是确定IP不可访问。原因是你不能总是明确地确定一个IP是不可访问的。虽然在某些情况下您会收到IP无

windows - 在 32 位中,为什么地址空间限制为 2^31?

在32位中,为什么地址空间限制为2^31?而不是2^32? 最佳答案 地址空间不限于2^31。地址空间为2^32。您指的是内核保留了较高的2GB,而应用程序保留了较低的2GB。这只是32位Windows的一个实现细节。事实上,您可以在/3GB模式下运行Windows,在这种情况下,应用程序可以访问3GB内存。 关于windows-在32位中,为什么地址空间限制为2^31?,我们在StackOverflow上找到一个类似的问题: https://stackove

c++ - 确定 CPU 缓存中值的值和/或地址

有没有办法准确确定当前或所有进程的CPU缓存(L1、L2等)中当前驻留的值、内存地址和/或其他信息?我已经做了很多阅读,其中展示了如何优化程序以更有效地利用CPU缓存。但是,我正在寻找一种方法来真正确定某些方法是否有效。底线:是否有可能100%确定什么进入和不进入CPU缓存。搜索此主题会返回几个关于如何确定缓存大小的结果,但不会返回内容。编辑:澄清下面的一些评论:由于软件无疑会改变缓存,CPU制造商是否有提供此功能的工具/硬件诊断系统(内置)? 最佳答案 如果不使用专用硬件,您无法直接检查CPU缓存中的内容。运行任何软件来检查CPU