自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

crbrave的专栏

鉴证--我们一起成长!!!!

  • 博客(16)
  • 资源 (10)
  • 收藏
  • 关注

转载 InterlockedIncrement函数详解

InterLockedIncrement and InterLockedDecrement实现数的原子性加减。什么是原子性的加减呢?举个例子:如果一个变量 Long value =0;首先说一下正常情况下的加减操作:value+=1;1:系统从Value的空间取出值,并动态生成一个空间来存储取出来的值;2:将取出来的值和1作加法,并且将和放回Value的空间

2013-04-28 10:12:00 901

转载 MFC VC++下ADO方式访问连接MySQL数据库 添加 删除 修改数据库

这都是以前为了做那个项目测试ADO连接MySQL数据功能的,这里发文分享一下。实际运行如下图所示,具有列表显示数据库内容,添加,删除,修改功能,点击列表框的任一栏就可以就行修改或者删除,功能算是有点小全面吧。我们可以从MySQL自带的MySQL workbench看看源数据库里的数据,如图所示。如果没有接触过的可以尝试一下在这里建立数据库,添加删除数据等,操作成功后我们再用VC

2013-04-18 09:46:09 1530

原创 MFC自动生成代码详解(一)

首先声明这篇博客是给MFC刚刚上路的coder准备的,老鸟们就自觉无视我吧!大家有没有感觉,创建MFC工程时他总会生成一大堆文件一大堆代码。虽然给我们带来了便利,但是调试的时候碰到这些代码总是畏首畏脚的,从来不敢动他们。这篇博客就来帮大家解决这个问题。让你在熟悉他们的作用同时,真正的不怕他们!现在我见了一个工程名字为Example他会生成以上几个文件我们就从从Examp

2013-04-12 20:57:51 3548 1

转载 stdafx.h、stdafx.cpp是干什么用的?为什么我的每一个cpp文件都必须包含stdafx.h? Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编

sstdafx.h、stdafx.cpp是干什么用的?为什么我的每一个cpp文件都必须包含stdafx.h?     Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。由于每个.CPP文件都包含相同的include文件,为每个.CPP文件都重复处理这些文件就显得很傻了。     为避免这种浪费,AppWizard和Vi

2013-04-12 11:38:53 937

转载 宽字节与单字节的转换 Unicode字符集下CString与char *转换

在Visual C++.NET2005中,默认的字符集形式是Unicode,但在VC6.0等工程中,默认的字符集形式是多字节字符集(MBCS:Multi-Byte Character Set),这样导致在VC6.0中非常简单实用的各类字符操作和函数在VS2005环境下运行时会报各种各样的错误,这里总结了在Visual C++.NET2005环境中Unicode字符集下CString和char *之

2013-04-12 10:27:27 744

转载 一个进程的诞生与死亡

执行一个程序,必然就产生一个进程(process)。最直接的程序执行方式就是在shell (如Win95 的文件总管或Windows 3.x 的文件管理员)中以鼠标双击某一个可执行文件图标(假设其为App.exe),执行起来的App 进程其实是shell 调用CreateProcess 激活的。让我们看看整个流程:1. shell 调用CreateProcess 激活App.exe

2013-04-11 17:46:38 547

转载 GetMessage与PeekMessage区别

它们都是到消息队列中抓消息,如果抓不到,程序的主执行线程(primary thread,是一个UI 执行线程)会被操作系统虚悬住。当操作系统再次回来照顾此一执行线程,而发现消息队列中仍然是空的,这时候两个API函数的行为就有不同了:  GetMessage 会过门不入,于是操作系统再去照顾其它人。  PeekMessage 会取回控制权,使程序得以执行一段时间。于是上述消息循环

2013-04-11 17:08:51 610

转载 程序的来龙去脉

来龙去脉总整理前面各节的目的就是如何将表面上看来不知所以然的MFC 程序对映到我们在SDK 程序设计中学习到的消息流动观念,从而清楚地掌握MFC 程序的诞生与死亡。让我对MFC程序的来龙去脉再做一次总整理。程序的诞生:■ Application object 产生,内存于是获得配置,初值亦设立了。■ Afx WinMain 执行AfxWinInit,后者又调用AfxInit

2013-04-10 10:20:10 585

转载 Dll学习笔记

比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费;另一个缺点是,在编写大的EX

2013-04-08 13:34:24 946

转载 socket通信浅解

socketsocket()我们使用系统调用socket()来获得文件描述符:#include#includeint socket(int domain,int type,int protocol);第一个参数domain设置为“AF_INET”。第二个参数是套接口的类型:SOCK_STREAM或SOCK_DGRAM。第三个参

2013-04-08 10:14:10 573

转载 CallBack()回调函数详解

回调函数,就是由你自己写的。你需要调用另外一个函数,而这个函数的其中一个参数,就是你的这个回调函数名。这样,系统在必要的时候,就会调用你写的回调函数,这样你就可以在回调函数里完成你要做的事。模块A有一个函数foo,它向模块B传递foo的地址,然后在B里面发生某种事件(event)时,通过从A里面传递过来的foo的地址调用foo,通知A发生了什么事情,让A作出相应反应。 那么我们

2013-04-03 10:01:48 2293

转载 setTimer()函数详解

转自:http://blog.csdn.net/ellor/article/details/1714741Timer事件,即定时器事件,是在游戏编程中,经常使用的一个事件。借助它可以产生定时执行动作的效果。这篇文章,就和大家一起探讨一下如何使用SetTimer()函数。           1、SetTimer定义在那里?            SetTimer表示的是定义

2013-04-03 09:07:47 3757

转载 Event事件对象

事件对象就像一个开关:它只有两种状态---开和关。当一个事件处于”开”状态,我们称其为”有信号”否则称为”无信号”。您可以在一个线程的执行函数中创建一个事件对象,然后观察它的状态,如果是”无信号”就让该线程睡眠,这样该线程占用的CPU时间就比较少。 产生事件对象的函数如下:CreateEvent proto lpEventAttributes:DWORD,\ bManualRese

2013-04-02 09:06:59 855

转载 线程间的通信实例

(一)实验目的:     学习线程间的通信(二)线程间的通信:  在一个多线程的应用程序中,所有线程共享进程资源,协同工作。所以,线程之间的通信是编写多线程应用的必不可少的环节。  线程之间的通信包括互斥、同步等,它是多线程设计中最难控制的部分,也是关键部分。1、线程间的互斥 (1) 临界区  在一个多线程的应用程序中,可能存在这样的危险:一个线程以某种

2013-04-01 19:17:52 641

转载 WaitForSingleObject函数

一下子跳到等待函数 WaitForSingleObject, 是因为下面的 Mutex、Semaphore、Event、WaitableTimer 等同步手段都要使用这个函数; 不过等待函数可不止 WaitForSingleObject 它一个, 但它最简单.function WaitForSingleObject(  hHandle: THandle;      {要等待的对象句柄}

2013-04-01 16:00:21 714

转载 svn符号各含义

黄色感叹号(有冲突):--这是有冲突了,冲突就是说你对某个文件进行了修改,别人也对这个文件进行了修改,别人抢在你提交之前先提交了,这时你再提交就会被提示发生冲突,而不允许你提交,防止你的提交覆盖了别人的修改。要解决冲突,如果你确认你的修改是无效的,则用TSVN还原你的修改就行了;如果认为你的修改是正确的,别人的提交是无效的,那么用TSVN先标记为“解决冲突”,然后就可以提交了;如果你认为你的修

2013-04-01 10:12:35 662

_XMLDomWrapper.au3

_XMLDomWrapper.au3标准类库!

2015-05-19

ESET杀毒软件拦截广告规则下载及使用方法

ESET杀毒软件拦截广告规则下载及使用方法.zip

2013-04-14

流水灯(单片机课程设计)

可用于课程是设计,可直接运行的.dsn文件,单片机课程设计protuse仿真可执行运行文件!

2013-04-14

电子时钟(单片机课程设计)

单片机课程设计可执行文件。.dsn文件可以在protuse上直接运行,适合大家做课程设计学习!

2013-04-13

交通灯(单片机课程设计)

可用于课程是设计,可直接运行的.dsn文件,单片机课程设计protuse仿真可执行运行文件!

2013-04-13

流水灯(p'ro'tu'se仿真课程设计)

流水灯,可用于课程设计。可直接运行的.dsn文件

2013-04-13

飞鸽传书代码及详解

代码可直接编译运行,另附143页代码详解!保证分析透彻!适合大家入门学习!

2012-12-11

数据结构入门1800道题及答案

数据结构经典文档1800道题,并附有答案!

2012-12-11

WpdPack_4_0_2.zip

与winpcap公用的 wpdpack ,必备软件!!

2012-02-26

空空如也

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

TA关注的人

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