Tag: 虚拟化

如何从C中的新虚拟页面分配内存?

我正在分析在创建维度PageSize x PageSize的二维数组时跨虚拟页面分配的效果。 我的机器的页面大小是4096.我有一个4096个整数指针(列)的数组,指向4096个整数(行)。 我想在新的虚拟页面开始分配第一个整数指针。 如何识别当前内存位置是否为新页面? 有一次,我已经确定了,我相信我可以写一些垃圾值并将指针移动到一个新的虚拟页面。 这就是我分配数组的方式。 array = malloc(ncolumns * sizeof(int *)); for(j = 0; j < ncolumns; j++) { array[j] = malloc(nrows * sizeof(int)); if(array[j] == NULL) { reportError(8);} }

虚拟并行端口仿真器

在我的计算机网络课程中,我们应该通过使用本机寄存器来学习并行端口编程(比如使用outportb之类的命令)。 我没有并行端口(因为我住在2011年)但想要练习程序(我使用dosbox安装了旧的turboc 3 IDE)。 是否有一个模拟并行端口的程序, 如此程序模拟串口?

红丸检测虚拟化

我试图检测我的Windows是否在虚拟机上运行。 我发现这个C代码被称为Joanna Rutkowska的Red Pill: int swallow_redpill () { unsigned char m[2+4], rpill[] = “\x0f\x01\x0d\x00\x00\x00\x00\xc3”; *((unsigned*)&rpill[3]) = (unsigned)m; ((void(*)())&rpill)(); return (m[5]>0xd0) ? 1 : 0; } 但是当我在我的VC ++项目中运行它时,它就失败了 ((void(*)())&rpill)(); with message:访问冲突执行位置0x003AFCE8。 我做错了吗?