自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

https://github.com/JelinYao

隐居山水之间誓与浮名散

  • 博客(21)
  • 资源 (33)
  • 收藏
  • 关注

转载 Windows 2D绘图引擎的发展及联系

背景知识 : Windows 图形编程    在 Windows 7 操作系统中,微软花费了很大的力气构建了一套新的 2D 绘图 API。我们称之为 Direct2D ,隶属于 DirectX 家族。这个 API 的开发填补了 Windows 图形平台的一些缺陷。其中非常重要的一点就是普通的 2D 程序渲染不再缺乏硬件加速。而在 Windows Vista 中,我们知道 GDI 是无法进行

2015-01-30 18:31:50 3433

原创 Direct2D能否在XP上运行

D2D能否在XP上运行?答案当然是不能。我尝试过把所有需要依赖的DLL都拷贝到XP中去,但是运行时还是会弹出一些无法定位的错误通过DEPENDS来查看依赖项的情况就会发现原因了,下面是WIN7中msvcrt.dll的依赖项:你会发现这个DLL依赖的很多系统关键DLL在XP中都不存在然后,愚蠢地把WIN7中所有的DLL复制过来运行还是出错,查看依赖。NTD

2015-01-30 14:14:33 2176 2

转载 Windows 7图形架构解析

Windows XP的Direct3D/GDI驱动架构Windows Vista核心图形架构,比起XP来要丰富了很多Windows 7核心图形架构,老的GDI/GDI+仍被单独支持,不过,Windows 7提供了它们对应功能的新的实现方法  相比Vista带的DirectX 10,Windows 7自带了DirectX 11,和WDDM 1.0到1.1的变化不同,D

2015-01-30 11:17:23 2211

原创 Windows核心编程笔记(6)----用户模式下的线程同步

1、原子锁使用InterlockedExchangeAdd函数来实现原子增长,InterlockedExchange\InterlockedExchangePointer用来交换两个变量的值,InterlockedCompareExchange对比数值,相等则交换(对应的InterlockedCompareExchangePointer)。对应的还有64位函数。Interlocke

2015-01-29 15:04:51 1310 2

原创 Windows核心编程笔记(5)----线程调度,优先级

1、操作系统线程调度过程每个线程都有一个上下文CONTEXT结构体,保存在线程的内核对象中,这个上下文中保存了线程上一次执行时CPU寄存器的状态。每隔固定时间,Windows会查看所有当前存在的线程内核对象,其中只有一些是可调度的。Windows在可调度的线程中选择一个,并将上次保存到线程上下文中的数据载入CPU寄存器中。(上下文切换)CPU时间片到后,Windows移出这个线程,

2015-01-28 11:12:01 2850

原创 Windows核心编程笔记(4)----线程

1、进程与线程 进程是惰性的,从来不执行任何东西,它只是一个线程的容器。线程必定是在某个进程的上下文中创建的, 而且其生命周期都在该进程中。因为句柄表是针对每一个进程的,因此同一个进程中的多个线程可以共享 内核对象句柄。进程运行需要占用许多的内存资源(加载DLL等),进程只需要一个内核对象和一个进程栈, 无需占用多少内存。2、终止线程的几种方式: 2.1线程函数返回(强烈推荐) 2.

2015-01-27 15:26:29 866

原创 Windows核心编程笔记(3)----作业

/*1、如果进程已经与一个作业相关联,就无法将当前进程及其任何子进程从作业中移除,这个安全特性可以保证/* 进程无法摆脱对它施加的限制。/*2、在调试程序时,调试器是从资源管理器启动的,程序会从调试器继承带“PCA”前缀的作业。因此,调试程序/* 时总是显示进程已经加入了作业。使用命令行来运行程序时就不会有这个问题了。/*3、关闭一个作业对象,并不会终止作业内所有的进程。作业对象实际上只是

2015-01-26 15:59:14 864

原创 开源一个VC++实现的MP3播放器(支持换肤、截屏、半透明)源码

一、说明:这个项目是在2012年写的,大学期间比较无聊。程序是基于MFC的,当时初接触开发很多东西都做得不太好(代码规范、效率等),工作后也没再用MFC了,而且个人也不看好MFC的前途,所以就没再去维护更改了。今天把它开源出来,仅供初学者学习。主要用到的技术有:MFC控件自绘、GDI双缓冲绘图。(网上一大推资料,暂且叫技术吧)。包括几大模块:主界面、歌词面板模块、截屏模块、公用函数模块。M...

2015-01-25 09:58:59 3528 3

转载 在Windows下编译OpenSSL

本文转载自:http://lwglucky.blog.51cto.com/1228348/325483,感谢原作者需要说明的是请一定安装openssl-0.9.8a 。  openssl-1.0.0我没有编译成功.如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1、安装ActivePerl//初始化的时候,需要用到perl解释器2、使用V

2015-01-23 18:21:02 4234

转载 Python编码格式说明及转码函数encode和decode的使用

字符串编码常用类型:utf-8,gb2312,cp936,gbk等。python中,我们使用decode()和encode()来进行解码和编码在python中,使用unicode类型作为编码的基础类型。即     decode              encodestr ---------> unicode --------->stru = u'中文' #

2015-01-23 17:47:33 25811

原创 使用libcurl下载文件小例

libcurl是一个很强大的开源网络处理库,支持包括HTTP、HTTPS、FTP……一系列网络协议。用它来进行HTTP的get\post 或者下载文件更是小菜一碟,chrome内核都用到了它,本文主要讲解一个使用curl下载文件的小例。首先是去下载curl的最新源代码,然后编译成动态库或者静态库;然后把头文件和库文件拿出来加入到我们自己的工程中,引用声明:#include "curl.h"

2015-01-23 10:40:55 22989

原创 VS调试_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse));崩溃原因及解决方法

今天下午对面的老大调试遇到这个问题,大家一起讨论好久才解决这个问题crt源代码都是可以看到的,为了了解清楚原因,十分有必要查看源码,源码一般在你的VS安装路径下VC\crt\src下。点击重试,定位到崩溃源码地方dbgdel.c的第52行。为了了解原因,我的测试代码是这样写的:int _tmain(int argc, _TCHAR* argv[]){ char* p

2015-01-22 18:23:53 20026 9

原创 VS调试程序_ASSERTE(_CrtIsValidHeapPointer(pUserData))崩溃的原因以及解决方法

调试程序,对动态申请的内存用free或者delete释放时程序崩溃,跳出如下对话框:点击重试,定位到具体的CRT源码部分:_ASSERTE(_CrtIsValidHeapPointer(pUserData));1、原因分析:查看CRT源码,一步一步看看里面都干了什么吧: _CrtIsValidHeapPointer----->_CrtIsValidPointer---->Hea

2015-01-22 17:53:49 20135 3

原创 设计模式之观察者模式的C++实现

当一个对象改变时需要同时通知其他多个对象,或者说一个对象依赖另一个对象的时候,使用观察者模式可以将这两者封装在独立的对象中使他们各自独立地改变和复用。观察者模式所做的工作就是在接触耦合,让相互耦合的双方都依赖于抽象而不是具体类,从而使得各自的改变都不会影响到对方。(引用自 《大话设计模式》)下面提供一个观察者模式的C++实现版本:#pragma once#include #incl

2015-01-19 12:34:48 940

原创 开源一个C++实现的简单HTTP协议处理库

HTTP协议库有两个版本,一个是基于WININET,一个则是使用socket实现的。可以支持POST 、GET请求,断点下载、重定向下载、下载进度回调,不支持HTTPS。接口头文件声明如下:#pragma once#include using std::string;using std::wstring;#include #include enum REQUEST_T

2015-01-15 17:38:35 25325 3

原创 Windows核心编程笔记(2)----进程

6 进程实例句柄6.1 每一个EXE或者DLL被加载到内存中后,都会被赋予一个独一无二的句柄(HINSTANCE),该句柄在WinMain函数调用时传入。获取应用程序相关信息(资源、路径)时,有的需要传入HINSTANC有的需要传入HMODULE,实际上HINSTANC与HMODULE完全是一回事,这是16位Windows系统上不同数据类型造成的。WinMain函数的第一个参数:实例句柄是

2015-01-14 14:23:04 991

原创 VS检测内存泄漏,定位泄漏代码位置方法

1、什么是内存泄漏?内存泄漏指的是在程序里动态申请的内存在使用完后,没有进行释放,导致这部分内存没有被系统回收,久而久之,可能导致程序内存不断增大,系统内存不足……引发一系列灾难性后果;(关于程序申请内存分配方式,详见:内存分配方式)2、零容忍排除内存泄漏对于程序的稳健型特别重要,尤其是程序需要长时间、稳定地运行时。C++这类动态内存申请释放都是由程序员控制的语言,稍不注意,很有可能就...

2015-01-13 11:13:03 34068 9

原创 Windows核心编程笔记(1)----句柄

Windows内核句柄的内部机制(创建、销毁、复制),Win32编程不能不看的基础知识。

2015-01-12 14:24:08 1417

转载 sqlite数据库中的sql语句大全

最近用到sqlite3,发现有些SQL语句好像不适用于这个小型数据库,上网查了下,这篇文章挺详细的,转载自:http://hunankeda110.iteye.com/blog/1143258,感谢原作者。2010年SQLite学习笔记之一一. 如何获取SQLite最新版本官方站点:http://www.sqlite.org/从http://ww

2015-01-11 11:02:55 2003

转载 IOCP之accept、AcceptEx、WSAAccept的区别

1. accept、WSAAccept是同步操作,AcceptEx是异步操作2. WSAAccept函数早accept函数基础上添加了条件函数判断是否接受客户端连接3. AcceptEx是异步的,可以同时发出多个AcceptEx请求,支持重叠IO操作.转载自:http://blog.csdn.net/zhongguoren666/article/de

2015-01-05 16:13:03 2432

转载 setsockopt设置socket状态

1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经

2015-01-05 16:11:08 878

Websocketpp实现自己的web服务器

使用开源Websocketpp实现自己的web服务器,实例代码主要介绍了对客户端基本几种请求的处理。

2016-11-04

libjpeg-turbo编码、解码实例代码

libjpeg-turbo使用实例代码。包含jpeg解码成dib格式 绘制到界面上;jpeg格式图片转换成bmp格式图片;bmp格式图片转换成bmp格式图片。

2016-09-23

libCef开发的多标签浏览器2.0

libCef开发的多标签浏览器2.0,支持调出开发者模式,保存网页为PDF。都是查看官方代码例子做出来的。

2016-09-03

Windows上编译的libx264(源码+生成DLL、lib、def)

Windows上编译的libx264(源码+生成DLL、lib、def),没有依赖项,不想自己配置环境编译代码的人可以拿去用。

2016-07-05

windows上使用Libcef实例源码

在win32程序中使用Libcef嵌入浏览器控件,libcef基于最新chrome内核,无IE兼容性问题,你值得拥有。源码中包含了cef的使用:初始化、回调设置、JS与C++交互等,适合初学者学习。(VS2008工程)

2015-12-11

WebsocketPP C++构建Web服务器源代码

WebsocketPP是一个使用C++编写的开源Web服务器框架,具体实现则是用的大名鼎鼎的boost::asio。ASIO是一个跨平台的网络库,Windows上底层实现使用的是重叠I/O。

2015-11-30

DuiLib下载管理器小例代码

DuiLib下载管理器小例代码,希望对于初学者有用,大牛们就不用看了。

2015-02-07

VC++实现支持换肤半透明的MP3播放器

MP3播放器。主要用到的技术有:MFC控件自绘、GDI双缓冲绘图。(网上一大推资料,暂且叫技术吧)。包括几大模块:主界面、歌词面板模块、截屏模块、公用函数模块。

2015-01-25

C++实现HTTP处理类

HTTP协议库有两个版本,一个是基于WININET,一个则是使用socket实现的。 可以支持POST 、GET请求,断点下载、重定向下载、下载进度回调,不支持HTTPS。

2015-01-15

VC自定义不规则窗体

本文则主要讲述通过代码来在自定义透明。有的时候需要在窗口的某些位置打个洞,我以前做过这样的需求。

2014-11-27

VC不规则窗口

VC不规则窗口 UpdateLayeredWindow实现

2014-06-20

VC不规则窗口实例代码

VC不规则窗口实例代码,WIN32应用程序,同样适用于MFC。

2014-06-20

VC++图像分割、灰度处理源码

VC++实现图像的分割,对分割图像进行灰度处理并统计出黑色像素点的数目,最后绘制出4幅图:原图、分割图、灰度分割图、比例图。主要使用GDI绘制,欢迎下载源代码学习指教。

2013-10-12

STL 源码剖析 PDF

侯捷写的STL源码剖析,对于需要了解STL内部实现的C\C++程序员值得一看。

2013-04-01

VC发送邮件

本实例调用DLL中函数发送邮件到指定邮箱(通过生成的XML文件进行配置),还可以添加附件哦,测试过程中,发送邮件以及附近均成功

2012-12-29

VC图像的亮度处理

MFC写的一个小的图像处理DEMO,可以快速对图像进行灰度处理、以及亮度处理, 处理过程均在线程中实现,比较快

2012-12-29

退出提示框

MFC程序退出提示 记忆对话框 主要是用XML保存,以实现记忆

2012-10-27

MFC属性表单使用(模态和非模态两种)

生成属性表单的基本方式,包括两种方法:模态和非模态.

2012-10-16

CMarkup解析XML小例

CMarkup的使用,包含文档,用一个小C++程序测试,可以看看。

2012-10-16

MFC类库详解

MFC参考文档,对于MFC中所有的类以及其成员函数的调用有了详细的说明,是MFC开发不可多得的帮助文档,相对于臃肿的MSDN而言。

2012-09-26

zlib的使用小例

本实例使用zlib中的主要压缩与解压函数compress\uncompress,对文件进行压缩和解压,对于使用zlib的初学者有一定的帮助。

2012-09-26

MFC DLL开发

MFC 工程调用DLL,设计DLL开发,基本界面开发,热键(HOOK)设置等,很适合MFC初学者学习,希望大家能看看,本人很懒,也很菜,很少有注释的

2011-11-23

MFC硬件检测

此例已VS2008为工具,新建一个MFC应用程序,可以检测系统配置,包括:系统属性、CPU配置、内存检测以及硬件设备检测,界面做的不好看,欢迎指教:404303374@qq.com

2011-09-18

一个开源 UI库

一个开源的UI库,让你的程序的界面更加漂亮,详细内容请看具体文件,我就不多说了

2011-04-10

MFC多用途文件编辑器

自己用VS2008的MFC做的一个应用程序,可以很方便的查看多种类型的文档:txt\c\cpp\h\sql……打开后还可以对文字进行各种简单的操作,并且可以另存为其他格式的文件,提供源码,希望能够帮助MFC的初学者们、

2011-04-01

MFC教程(PDF)

MFC教程,详细介绍了MFC应用程序开发的各种资源的使用方法,以及多线程编程,介绍的比较详细,是MFC初学者必不可少的好教程。

2011-03-31

windows 程序设计2(第五版)

windows 程序设计,详细介绍开发windows程序的过程,以及各种API函数的使用方法、

2011-03-30

windows 程序设计1(第五版)

windows 程序设计,详细的介绍了开发windows程序的步骤,以及相应的API函数。

2011-03-30

关于VC多语言转换问题

VC中实现多种语言的切换,试试看吧。这里的只是一小部分,希望能够对大家有帮助。

2011-03-30

Windows API参考大全

Windows API 进行windows应用程序开发不可不用的函数,里面包含了上百个API函数

2011-03-05

MFC做的关机程序,可以关机、注销、重新启动计算机

用MFC做的一个关机程序,静态编译的,自己用了一下感觉还行吧。我只是一个菜鸟,我不是炫耀、

2011-03-05

如何用C++在MFC的对话框中实现关机源码

利用MFC做个对话框,然后通过添加按钮响应函数来实现具体的功能,如:关机、重启、注销等、

2011-02-27

空空如也

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

TA关注的人

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