系统编程
文章平均质量分 87
道道道人间道
这个作者很懒,什么都没留下…
展开
-
关于x64机器上的x86 LARGEADDRESSAWARE程序的c#:内核模式内存大小?
早期的32位Windows软件(当您的计算机可能只有486CPU或类似的内存而只有4MiB的内存)使用了(滥用),因为由于内存的布局方式,您的用户地址空间永远不会有超过2个GiB障碍的任何指针-有效地为您提供任何指针中最高的位,供您自己的数据使用。令人惊讶的是,这给了您256TiB的地址空间,这在Windows中是有限的。毕竟不是微软的阴谋!但是,所有进程共享相同的内核内存-实际上,您甚至在自己的虚拟地址空间中都有内核内存是对性能的优化,可以避免在处理应用程序中的内核对象和数据时不得不切换地址空间。...转载 2022-07-28 21:07:33 · 526 阅读 · 0 评论 -
应对32位程序在64位系统上访问注册表和文件自动转向问题
1 简介当前计算机系统已经逐渐地从32位转到64位,XP,2003,VISTA都有64位的版本。从目前而言,32位应用程序还是占了绝大多数,但是也有部分应用程序既有32位版本,又有64位版本。为了保证32位程序可以顺利运行在64位系统上,微软提供了一套叫WOW64的模拟机制。通常把这套系统称为WOW64。从总体上来说,WOW64是一套基于用户模式的动态链接库,它可以把32位应用程序的发出的转载 2017-06-30 16:50:26 · 383 阅读 · 0 评论 -
向自己的模块添加错误代码
原文链接:https://blog.csdn.net/s634772208/article/details/46402677本文主要介绍怎么使用Visual Studio自带的MC.exe工具来创建一个消息资源并将其添加到自己的DLL(或.exe)中,从而达到为自己的模块添加错误代码的目的。 一、MC工具介绍Message Compiler(MC) 是用来创建消息资源的工具,这些消息资源被DLL(...转载 2018-03-25 16:53:05 · 802 阅读 · 0 评论 -
一、函数错误机制
一、错误代码的获取 对于调用某些Windows函数,不论成功与否,都会有一个与之对应的代码值来标识函数的调用情况,是成功或是失败,如果失败,则可根据该值进一步获取失败的原因。代码值的获取通过调用函数GetLastError,该函数是线程安全的,因为获取的是主调线程中的错误代码值,其原理是使用线程本地存储区来存放了错误代码值。另外,对于某些函数(如CreateEvent),函数...原创 2018-03-25 16:53:56 · 183 阅读 · 0 评论