基础
阳光柠檬_
...
展开
-
__stdcall,__cdecl,_cdecl,_stdcall,__fastcall,_fastcall 区别简介
1.今天写线程函数时,发现msdn中对ThreadProc的定义有要求:DWORD WINAPI ThreadProc(LPVOID lpParameter);不解释为什么要用WINAPI宏定义,查了后发现下面的定义。于是乎需要区别__stdcall和__cdecl两者的区别;#define CALLBACK __stdcall#define WINAPI __stdcall#define WI转载 2016-09-20 10:23:13 · 580 阅读 · 1 评论 -
死锁产生的原因及四个必要条件
产生死锁的原因主要是: (1) 因为系统资源不足。 (2) 进程运行推进的顺序不合适。 (3) 资源分配不当等。 如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则 就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。 产生死锁的四个必要条件: (1) 互斥条件:一个资源每次只能被一个进程使用。 (2) 请求与保持条件:一个进程原创 2016-09-20 11:06:46 · 1172 阅读 · 0 评论 -
深入理解动态库- 函数调用,__stdcall,__cdecl,__fastcall,thiscal
一、动态连接库的用途 动态连接库,dynamic-link libraries(DLL),是微软公司提供的一项软件技术。它实质上是包含了一些函数和数据的可执行模块,它可以被应用程序(.EXE)或其它DLL 调用。这种技术有以下好处:共享资源、节省内存、支持多语种、可重复利用、便于大项目的开发等。这样说是不是有点老套,也是,教科书都有的嘛。咳,就当复习一下功课了.... 下转载 2016-09-20 15:44:55 · 3461 阅读 · 1 评论 -
YUV各种格式的数据简介
Y:明亮度(灰度值) UV:色彩及饱和度(指定像素的颜色值)YUV 有两大类: 1. planar(平面的):先存储所有像素点Y值,紧接着存储所有像素点U值,紧接着存储所有像素点V值 2. packed(包装的):每个像素点的YUV都是交叉存储的根据采样方式,又分三类: YUV444:每一个Y对应一组UV分量。 YUV422:每两个Y共用一组UV分量。 YUV420:每四个Y共用一组UV原创 2017-03-04 22:48:59 · 1457 阅读 · 0 评论