自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

商少

切勿好高骛远,患得患失

  • 博客(23)
  • 资源 (11)
  • 收藏
  • 关注

原创 Effective cpp(1)

声明式(declaration)是告诉编译器某个东西的名称或类型,但略去细节:extern int x; // 对象声明式std::size_t numDigits(int number); //函数声明式class Widget; // 类声明式template<typename T> // 模板(template)声明式定义式(definiton)的任务是...

2018-11-29 00:31:57 272

原创 如何解决,virtualKD 加载windbg 后,没有设置符号路径

首先,使用VirtualKD构建双机调试,具体教程在这里:https://blog.csdn.net/coc_k/article/details/52034927在实际使用的时候,发现,每次都得自己手动配置符号的地址,很麻烦,这里我们的解决办法很多,下面的链接给出了,windbg 设置符号的位置的4中办法:https://blog.yowko.com/windbg-symbol-fil...

2018-11-26 22:18:05 500 1

原创 outlook 2010 插件开发,入门资料

vs2017获取工具和更新:添加,office/sharepoint 开发http://www.cppblog.com/azhisoft/articles/475.html#import 声明:https://docs.microsoft.com/en-us/cpp/preprocessor/hash-import-directive-cpp?view=vs-2017#使用ATL、C+...

2018-11-25 13:32:51 1123

翻译 异常和错误处理

为什么使用异常https://isocpp.org/wiki/faq/exceptions让代码更加简洁,清洁,更不容错过错误。但是,使用通常的错误码和判断块,有什么不好的,它们的区别是什么?使用通常的错误码和判断块,你的错误处理代码和普通的功能函数可能搅和在一起。代码非常的混乱且很难确保处理了所有的错误。而且有些事情只有在异常处理的帮助下才能执行,比如说构造函数中检测到的错误;此...

2018-11-24 20:25:18 1293

翻译 ATL 基本介绍

ATL 活动模板库,一系列的基于模板的C++ 类,使得开发COM 对象更加方便,它特别支持了关键的COM 功能,包括库存实现,,双接口,标准COM 枚举器接口,连接点,和ActiveX 控件。如果进行大量的ATL 编程,将有需要了解有关属性的更多信息,这是Visual C++.NET 中旨在简化COM 编程的新功能。ATL 致力于简化创建高效、灵活、轻量的控件的过程。下面示例演示Activ...

2018-11-23 01:36:02 1320

翻译 Windows with C++-----Windows 中线程和I/O 的演变

https://www.codeproject.com/Articles/11976/Win32-Thread-Pool池的概念:资源重用,因为资源的创建费时费力,可重用的话,会带来很大的资源和效率提升。上面的例子是:对于win32 线程池的封装的一个示例代码当你开始一个新的项目,是否问过自己一个问题:这个程序是否是计算密集型或I/O 密集型?这是应该的,我发现,大部分的情况下,总是它...

2018-11-22 00:07:10 285

翻译 线程池

线程池是工作线程的集合,可以代表应用程序有效地执行异步回调。线程池主要用于减少应用程序线程的数量并提供工作线程的管理。应用程序可以对工作项进行排队,将工作与可等待的句柄相关联,根据计时器自动排队,并与I / O绑定。线程池体系结构以下应用程序可以从使用线程池中受益:1. 高度并行的应用程序,可以异步分派大量小工作项(例如分布式索引搜索或网络I / O)。2. 一个创建和销毁大量线程...

2018-11-21 00:13:59 166

翻译 子进程

创建进程https://docs.microsoft.com/en-us/windows/desktop/procthread/creating-processesCreateProcess函数创建一个新进程,该进程独立于创建进程运行。但是,为简单起见,该关系称为父子关系。 以下代码演示了如何创建进程。如果CreateProcess成功,它将返回一个PROCESS_INFORMATIO...

2018-11-20 01:32:00 479

翻译 多线程的同步执行、多线程和GDI 对象、线程局部存储、在线程中创建窗口、terminiate 线程、线程安全和访问权限

多线程的同步执行为了避免冲突和思索,有必要同步多线程对共享资源的访问。当需要确保以适当的顺序执行相互依赖的代码,同步也是必要的。有一些对象的句柄可以被用来进行同步,这包括:1. 控制台输入缓存2. 事件3. 互斥体4. 进程5. 信号量6. 线程7. 定时器这些对象的状态,或者是有信号,或者没信号。当调用等待函数wait functions,并传入了这些对象中的...

2018-11-19 23:43:32 330

翻译 多线程,创建线程、线程栈大小、线程句柄和标识符(TID)、暂停线程执行

https://docs.microsoft.com/en-us/windows/desktop/procthread/multiple-threads一个线程是一个进程内的可以被调度执行的实体。一个进程内所有的线程共享它的虚拟地址空间和系统资源。每个进程都开始于一个单线程,但它可以从任何它的线程中创建一个额外的线程。创建线程      CreateThread 函数为一个进程创建一个...

2018-11-19 01:04:27 749

翻译 多处理器、NUMA 支持,Thread Ordering Service(线程排序服务)?

具有多处理器的计算器通常有两种体系结构:非统一内存访问(NUMA)或对称多处理(SMP)。在NUMA 计算机中,每个处理器比其他处理器更靠近内存的某些部分,使得内存的某些部分的内存访问速度比其他部分更快。在NUMA 模型下,系统尝试在接近正在使用的内存的处理器上调度线程。SMP 计算机中,两个或多个相同的处理器或核心链接到单个共享主存储器。在SMP 模型下,可以将任何线程分配给任何处理器。因此...

2018-11-18 22:49:25 1377

翻译 调度

系统调度器通过判断哪个竞争线程得到下一个处理器时间分片来控制多任务。调度器使用调度优先级来决定下一个执行的线程是哪个调度优先级线程基于它们的调度优先级来被调度运行,每个线程都有一个绑定的调度优先级。0~31(最高)。仅仅zero-page线程可以有0 优先级。(zero-page 线程,是当系统中没有其它的线程需要执行的时候,操作系统用来把空闲的页面设置为0的)系统将具有相同优先级的所...

2018-11-18 02:32:51 211

翻译 多任务

https://docs.microsoft.com/zh-cn/windows/desktop/ProcThread/multitasking多任务操作系统将可用的处理器时间分配需要它的process 或 thread 上。系统设计为抢占式多任务。它申请处理器时间切片到每个它执行的thread 上。当前执行的thread 的时间切片使用完后,thread 被suspended,允许其它的线程...

2018-11-17 19:48:37 925

翻译 windows 进程和线程系列翻译

application 由一个或多个process组成。process 对简单的理解就是:一个执行的application。process 的上下文中运行着一个或多个thread。thread是操作系统分配处理器时间的最小单位。thread可以执行进程代码的任意的部分,包括,当前正在被其它thread执行的部分。job 对象允许以许多个process 为单位来进行管理。job 对象是:可命名,...

2018-11-17 17:56:24 254

翻译 The _imaging C module is not installed

http://effbot.org/zone/pil-imaging-not-installed.htm为什么PIL 显式信息“The _imaging C module is not installed”PIL 库主要包括两个部分,一系列的Python 模块,经常存储在一个PIL 子目录下,以及一个称为_imaging 的二进制扩展模块。根据平台和版本的不同,_imaging 存储在名为...

2018-11-15 23:48:58 1209 1

翻译 加载应用程序(ShellExecute,ShellExecuteEx,SHELLEXECUTEINFO)

https://docs.microsoft.com/en-us/windows/desktop/shell/launch一旦你的应用程序定位了一个文件,下一个对其进行的步骤就是对其进行某些操作。例如,你的应用程序可能想加载另外的一个应用程序,以允许用户修改该文件。如果该文件是可执行的,你的应用程序可能想简单的加载它。这个文章将讨论,如何使用ShellExecute 和 ShellExecut...

2018-11-14 23:19:12 381

翻译 Apartments-----套间

https://docs.microsoft.com/en-us/windows/desktop/com/processes--threads--and-apartments进程、线程和套间 多线程应用程序必须避免两个线程问题,死锁,冲突。COM call control 可以帮助避免两个对象之间的调用时的死锁问题。COM 支持一些功能,这些功能被设计为,帮助进程外服务避免冲突的情况。...

2018-11-13 19:19:16 377

翻译 COM 中的多线程

COM 线程模型每一个用户界面线程都有一个或多个窗口。线程将调用它所拥有的窗口的窗口过程。对于任一窗口, 它将被创建它的线程所拥有。所以窗口过程总是在同一线程中被执行的, 而不论被处理的消息是哪个线程发出的。这样做的结果是所有的消息被同步。窗口将可以保证它能按正确的顺序获取各个消息。这样, 程序员将用不着编写线程安全的窗口过程. COM 线程与Win32 中的用户界面线程...

2018-11-12 00:57:10 1181

翻译 进程内服务器,进程外服务器,远程服务器

 EXE 中的服务器不同的进程DLL也被称作是进程中服务器, 而EXE则被称作是进程外服务器,远程服务器指的是运行于另外一个不同的机器上的进程外服务器。对于跨越进程边界的接口,我们需要考虑如下一些条件:一个进程需要能够调用另外一个进程中的函数 一个进程需要能够将数据传递给另一个进程 客户无需关心她所访问的服务器是进程内服务器还是进程外服务器本地过程调用调整对指针的...

2018-11-10 22:10:38 918

翻译 com 与 智能指针,及一些细节问题

https://docs.microsoft.com/zh-cn/cpp/atl/reference/ccomptr-class?view=vs-2017https://docs.microsoft.com/zh-cn/cpp/atl/reference/ccomptr-class?view=vs-2017https://docs.microsoft.com/zh-cn/cpp/atl/r...

2018-11-10 14:14:18 378

翻译 COM 学习笔记,2------引用计数,注册,类厂

 引用计数AddRef 和 Release 函数当客户从组 件取 得一 个接口 时 , 此引 用计 数值 将 增 1。 当 客户 使用 完某个接口后 , 组件的引用计数值将减 1。 当引用计数值 为 0 时 , 组件 即可将自 己从内存 中删除 三个简单的原则:返回之前调用AddRef,对于那些返回接口指针的函数,在返回之前应用相应的指针调用AddRef 。这些函数包括Qu...

2018-11-10 01:52:57 697

翻译 COM学习记录,1-----COM 的基本概念,优缺点,适用性

COM 是什么?COM 是一个说明如何建立可动态互变组件的规范。它提供了为保证能够互操作, 客户和组件应遵循的一些标准。 COM 组件是什么:COM 组件是以Win32 动态链接库(DLLs )或可执行文件( EXEs ) 的形式发布的可执行代码组成的。遵循COM 规范编写的组件将能够满足对组件架构的所有需求。COM 组件是动态链接的。COM 使用DLL 将组件动态链接起来。但动态链接...

2018-11-09 22:51:54 5051

翻译 windows Shell 学习记录,1-------基础介绍与安全性

https://docs.microsoft.com/en-us/windows/desktop/shell/shell-entry文档仅仅做记录,赚一些积分Windows UI 给用户提供了运行应用程序、管理操作系统所需要的很大范围的对象的访问能力。其中,数量最大和最熟悉的就是我们平常所使用的驻留在电脑磁盘驱动器上的文件夹和文件夹。另外也有一些虚拟对象,允许用户执行,类似将文件发送到远程...

2018-11-09 18:51:22 205

ffmpeg avframe to jpeg

ffmpeg avframe to jpeg

2022-07-06

ffmpeg 4.4 sdl2 音频播放器

ffmpeg 4.4 sdl2 音频播放器

2022-02-19

ffmpeg 4.4 player with rgb24 bitmap

ffmpeg 4.4 player with rgb24 bitmap

2022-02-14

ffmpeg sdl2.0 rgb24 player

ffmpeg 4.4 + sdl 2.0 rgb24 格式播放器

2022-02-13

ffmpeg demo,将输入文件中的视频流转换为单帧ppm 文件rgb24格式

ffmpeg demo,将输入文件中的视频流转换为单帧ppm 文件rgb24格式

2022-02-08

进程创建监控

Ring3+Ring0 控制进程创建

2017-07-31

APC注入实现代码

纯Ring0 + Ring3 交互

2017-07-30

WhoUseMe-查看谁占用了我的文件

Win7-64-bit

2017-07-30

获得鼠标下资源管理器路径(Demo)

2017-02-26

获得鼠标下资源管理器路径

2017-02-25

当前鼠标下的文件夹(桌面)路径

当前鼠标下的文件夹(桌面)路径

2017-02-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除