windows核心编程
开心的卡夫卡
喜欢语言,无论是寄托心情的文字,还是漂流于世的代码。业精于勤荒于嬉,不求闻达,只求人生无怨无悔。
展开
-
内核对象(1)
内核对象的数据结构只能有操作系统内核访问,应用程序只能通过一些函数进 行访问和操作。 创建内核对象:在32为windows进程中句柄是一个32位值,在64位进程中 则是64位值。 句柄值是与进程相关的,如果将句柄值传给另一个进程的线程将有可能失败 不过或许程序会根据我们传的句柄引用一个完全不同的内核对象。 使用计数原创 2010-02-02 22:31:00 · 499 阅读 · 0 评论 -
内核对象(2)
为什么共享内核对象: 1利用文件映射对象,可以在同一台机器上运行的两个不同进程之间共享内存 2借助邮件槽和命名管道,在网络中的不同计算机上运行的进程可以相互转发送数据块 3 互斥量,信号量和时间允许不同进程中的线程同步 内核对象的句柄是与进程相关,也就是说在一个进程中有效地句柄拿到另一个进程中不一 定同样有效,因此这样使系统更加强壮安全。 4 对象句原创 2010-02-06 07:24:00 · 573 阅读 · 0 评论 -
__declspec(align(#))
在核心编程中看到上面这样的东西,虽然懵懵懂懂知道是与字节对齐相关,但还是想知道究竟是怎么回事,顺着书中提供的相关网站,看了下资料,评介仅有的一点英文水平,记录下来。align Examples:下面的一些例子展示了 __declspec(align(#))是怎样影响结构体数据的对齐的,例子假设下面的定义:#define CACHE_LINE 32 #define CACHE_ALIGN __declspec(align(CACHE_LINE))下面这个例子,S1结构体用__declspec(align(翻译 2010-09-15 10:47:00 · 2675 阅读 · 0 评论