自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (2)
  • 收藏
  • 关注

转载 SQL case when语法

SQL      case when语法注意:then后面返回的数据类型要一致,--------------举例1-----------------95以上,优秀--90以上,良好--80分以上 中--80以下 差select tscoreId, tsid, tenglisth, 评级= case                       

2016-11-07 12:50:17 3171 1

转载 C语言内存字节对齐小结

在C语言面试和考试中经常会遇到内存字节对齐的问题。今天就来对字节对齐的知识进行小结一下。首先说说为什么要对齐。为了提高效率,计算机从内存中取数据是按照一个固定长度的。以32位机为例,它每次取32个位,也就是4个字节(每字节8个位,计算机基础知识,别说不知道)。字节对齐有什么好处?以int型数据为例,如果它在内存中存放的位置按4字节对齐,也就是说1个int的数据全部落在计算机一次取数的区间内

2016-04-11 11:06:28 1260

转载 CWebBrowser2去除边框、滚动条、右键菜单

目录(?)[-]添加CWebBrowser2类添加CWebBrowser2控件添加必要的com事件处理并实现DocHostUIHandlerGetHostInfo修改App类截获COM容器事件百度了一下,原来有sample的,参见:http://www.microsoft.com/en-us/download/details.aspx?id=944#filelist

2015-10-12 16:01:38 2199

转载 在MFC窗口嵌入网页浏览器(web browser、html)

其实是用方式很简单,就是把ActiveX Control整合到自己的窗口类中MSDN目录:Web开发>Internet Explorer Development>Hosting and Reuse>WebBrowser Control>Overviews/Tutories>Reusing the WebBrowser ControlMSDN网址:http://msdn.micros

2015-10-12 16:00:02 1413

转载 指定Webbrowser控件所用IE内核版本

如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容。解决方法是在注册表中为你的进程指定引用IE的版本号。比如我的程序叫做a.exe对于32位程序HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROW

2015-10-12 15:58:48 4216 1

原创 二进制值和十六进制字符串相互转换的C++代码

#include #include #include using namespace std;string BinToHex(const string &strBin, bool bIsUpper = false){ string strHex; strHex.resize(strBin.size() * 2); for (size_t i = 0; i <

2015-09-15 12:34:34 10424 1

原创 在桌面创建IE风格的快捷方式(无小箭头)

在桌面创建IE风格的快捷方式(无小箭头)在桌面创建IE风格的快捷方式This article was contributed by Sundar & Naresh 我们如果要在桌面上建立一个快捷方式,我们通常是用IShellLink接口来生成一个.lnk文件。用这种方式创建,我们在桌面上得到的是一个左下方还含有小箭头的图标,右击它,你会看到正常的弹出菜单(含有复制、粘贴等)。但

2015-08-05 13:23:48 746

转载 Event Logging 技术简介

1.     EVENT LOGGING概述       当错误发生时,系统管理员或技术支持需要知道错误原因是什么,如何恢复丢失数据和阻止错误复现。WINDOWS的Event-logging服务为此提供了解决方案。应用程序,操作系统或其它系统服务可以向该服务记录重要的事件消息,如:磁盘空间不足、没有访问权限等。系统管理员可以通过这些消息来确定错误发生的原因以及发生的上下文环境。通过定期的查

2015-02-11 14:39:53 1906

原创 C++重载,重写

1 成员函数重载特征:   a 相同的范围(在同一个类中)   b 函数名字相同   c 参数不同   d virtual关键字可有可无2 重写(覆盖)是指派生类函数覆盖基类函数,特征是:   a 不同的范围,分别位于基类和派生类中   b 函数的名字相同   c 参数相同   d 基类函数必须有virtual关键字3 重

2014-12-11 18:10:42 479

转载 内核分析PE获取DLL导出函数地址

环境:VS2012+WIN8 64类型:C++编写的WDM驱动程序测试:VM WIN7用途:主要用于驱动程序中得到WIN32 API地址,也可得到自定义的DLL中的函数导出地址,记录内核文件相关操作以便以后查看。说明:此段代码来源于网络,经修改调试而成。头文件 HelloWDM.h[cpp] view plainc

2014-09-29 12:36:14 3135

转载 ibevent源码深度剖析

1 前言Libevent是一个轻量级的开源高性能网络库,使用者众多,研究者更甚,相关文章也不少。写这一系列文章的用意在于,一则分享心得;二则对libevent代码和设计思想做系统的、更深层次的分析,写出来,也可供后来者参考。附带一句:Libevent是用c语言编写的(MS大牛们都偏爱c语言哪),而且几乎是无处不函数指针,学习其源代码也需要相当的c语言基础。2 LIBEVEN

2014-05-16 10:56:59 1527

转载 epoll使用详解(精髓)

epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且

2014-05-16 10:55:04 473

转载 非递归前中后序遍历(多种方式)

#include #include using namespace std;struct Node{ Node* lchild; Node* rchild; char value;};class list{public: list::list(); void PreOrder(); void InOrder(); void PostOrder(); void Pos

2014-04-04 09:58:10 647

转载 (++a)+=(a++)和(++a)=(++a)+(a++)的区别

#include using namespace std;void main(){ int a=4; cout<<((++a)+=(a++))<<endl; //结果为10 cout<<a<<endl; //结果为11 system("pause");}#include using namespace std;void main(){

2014-04-04 09:52:58 924

转载 vc里实现不规则窗体

首先建立一个MFC工程Test   2.准备两张位图,一张显示位图,另一个张是掩摸遮盖图片   3。在类中添加一个CBitmap   m_bmp;的成员变量   4.添加一成员函数,它的的功能就是设置不规则窗体void CTest1::SetupRegion(CDC *pDC, CBitmap &cBitmap, COLORREF TransColor){     CDC

2014-03-12 17:13:24 1090

转载 XML操作VC

最近正在研究C++下的XML分析工具CMarkup。初次和XML相遇是基于C#对XML的操作。C#的XmlDocument和XmlNode给我印象之深,让我至今都无法忘怀。现在想在C++下发掘XML的强大,结果却发现建房子你除了需要基本的建设材料外,还需要些而外的工具。不像C#那样,已经打成包供你直接使用了。好在有知道CMarkup这个小型XML的分析器,可以为我所用。俗话说:磨刀不误砍柴工。我现

2013-12-11 18:44:39 1058

转载 tftp协议的实现

一、tftp协议介绍 TFTP是一个传输文件的简单协议,它其于UDP协议而实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的 时候是进行小文件传输的。因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据。传输中 有三种模式:netascii,这是8位的ASCII码形式,另一种是octet,这

2013-09-18 09:19:43 981

转载 TFTP协议详解

一 TFTP协议简介TFTP协议全称为Trivial File Transfer Protocol。目标是在UDP之上上建立一个类似于FTP的但仅支持文件上传和下载功能的传输协议,所以它不包含FTP协议中的目录操作和用户权限等内容。与FTP相似,TFTP传输过程中也有传输模式之分,模式的意思是如何解释数据包里的内容,比如是字符串还是二进制等。目前有三种模式:l netasc

2013-09-18 09:08:55 3792

转载 在Sqlite中通过Replace来实现插入和更新

你可能在批量处理一个事务的时候,想要批量插入一系列的数据,但是这些数据当添加完一次之后,重新添加的时候,你不想要重新添加,只是想将原有的数据进行更新,例如:我想要通过Excel将一系列的图书导入到数据库中,而这些图书在你下一次编辑之后,重新导入,只是对原有的数据进行修改。以上是一个业务的场景。在MSSQL中,你可以使用诸如:?IFNOT EX

2013-09-09 09:42:21 794

转载 C结构体之位域(位段)

有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位

2013-09-03 10:21:10 770

转载 socket用户异常掉线检测

目前主要有三种方法来实现用户掉线检测:SO_KEEPALIVE ,SIO_KEEPALIVE_VALS 和Heart-Beat线程。下面我就上面的三种方法来做一下介绍。(1)SO_KEEPALIVE 机制 这是socket库提供的功能,设置接口是setsockopt API:BOOL bSet=TRUE;setsockopt(hSocket,SOL_SOCKET,SO_KEEP

2013-05-30 13:34:15 5170

转载 IOCP+WinSock2新函数打造高性能SOCKET池(转)

在前一篇文章《WinSock2编程之打造完整的SOCKET池 》中,介绍了WinSock2的一些新函数,并重点详细介绍了什么是SOCKET池,有了这个概念,现在就接着展开更深入的讨论。首先这里要重点重申一下就是,SOCKET池主要指的是使用面向连接的协议的情况下,最常用的就是需要管理大量的TCP连接的时候。常见的就是Web服务器、FTP服务器等。下面就分步骤的详细介绍如何最终实现S

2013-05-30 13:16:17 1206

转载 VS2010检查内存泄漏 LeakDiag

http://www.codeproject.com/Articles/108529/LeakDiag-An-Effective-Memory-Leak-Analysis-Toolhttp://leakdiag.software.informer.com/download/【转】VS2010检查内存泄漏 LeakDiagLeakDiag是微软一款检测memory leak的

2013-05-30 13:12:44 3197

转载 WinSock2编程之打造完整的SOCKET池

在Winodows平台上,网络编程的主要接口就是WinSock,目前大多数的Windows平台上的WinSock平台已经升级到2.0版,简称为WinSock2。在WinSock2中扩展了很多很有用的Windows味很浓的SOCKET专用API,为Windows平台用户提供高性能的网络编程支持。这些函数中的大多数已经不再是标准的“Berkeley”套接字模型的API了。使用这些函数的代价就是你不能再

2013-05-30 11:18:21 918

转载 在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除

在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。 作者:邵盛松 2009-09-05 前言1关于的BLOB(Binary)数据的存储和读取功能主要参考了MSDN上的一篇《AppendChunk and GetChunk Methods Example (VC++)》,原文地址是http://msdn.microsoft.com/en-us/libra

2013-05-10 11:09:05 1007

转载 PCI配置空间简介

PCI配置空间简介 作者:敏行PCI有三个相互独立的物理地址空间:设备存储器地址空间、I/O地址空间和配置空间。配置空间是PCI所特有的一个物理空间。由于PCI支持设备即插即用,所以PCI设备不占用固定的内存地址空间或I/O地址空间,而是由操作系统决定其映射的基址。系统加电时,BIOS检测PCI总线,确定所有连接在PCI总线上的设备以及它们的配置要求,并进行系统配置。所以,所有的PCI设备

2013-04-10 16:08:11 2259

转载 32位程序移植到64位需要考虑的问题

32位程序移植到64位需要考虑的问题 (翻译自:http://developers.sun.com/prodtech/cc/articles/ILP32toLP64Issues.html) 概述从32位到64位,根本性的区别在于两种数据类型发生了变化:long和pointer。在32位环境下,顾名思义,两者长度都是32位,也就是4个字节;而在64位环境下,都是8

2013-01-31 14:03:25 893

原创 确定对话框框架边框的大小及重绘

void CMainFrame::DrawTitleBar(CDC *pDC){ // TODO: 在此处添加消息处理程序代码 // 不为绘图消息调用 CFrameWnd::OnNcPaint() pDC->SelectStockObject(NULL_BRUSH); pDC->SelectStockObject(NULL_PEN); CRect rtWnd, rtTitle,

2013-01-04 14:53:54 4140

原创 time_t 与字符串之间的相互转换

方法1, SYSTEMTIME 类型//指定time_t类型的时间,格式化为YYYYMMDDHH24MISS型的字符串void FormatTime(SYSTEMTIME &tm1){ TCHAR * szTime = new TCHAR[128]; GetLocalTime(&tm1); _stprintf( szTime, _T("%4.4d-%2.2d-%2.2d %2.

2012-12-20 14:15:37 24951 1

原创 往CHtmlView控件写HTML内容

CComQIPtr spDoc = m_WebPage.GetHtmlDocument();HRESULT hr;VARIANT *param;SAFEARRAY *sfArray;CComBSTR bstrHtml(strContent);sfArray = SafeArrayCreateVector(VT_VARIANT, 0, 1);if (sfArray != NULL

2012-11-22 11:13:45 1067

转载 C++类模版特化

说起C++的模板及模板特化, 相信很多人都很熟悉 ,但是说到模板特化的几种类型,相信了解的人就不是很多。我这里归纳了针对一个模板参数的类模板特化的几种类型, 一是特化为绝对类型; 二是特化为引用,指针类型;三是特化为另外一个类模板。这里用一个简单的例子来说明这三种情况:// general versiontemplateclass T>class Compare{pub

2012-10-18 15:54:29 464

转载 IoSkipCurrentIrpStackLocation的疑问

http://blog.sina.com.cn/s/blog_62a630640100gahv.html当驱动被分层以后,他们被注册到一个chain中,IRP会在这个chain中传递,从最上面,到最下面,再回到最上面为适应这种体制,IRP的结构的大小是不固定的,大体结构如下:--------------------| IRP header |------------------

2012-09-23 14:49:02 518

转载 From Sample Code to Production Driver

Updated: May 13, 2008The Windows Driver Kit (WDK) contains a wide variety of sample drivers that demonstrate useful techniques for driver development. You can use these samples as a basis for your o

2012-08-06 17:57:38 1498

转载 C++不常用关键字(__leave)

C++不常用关键字(__leave)       总结__finally块被执行的流程时,无外乎三种情况。第一种就是顺序执行到__finally块区域内的代码,这种情况很简单,容易理解;第二种就是goto语句或return语句引发的程序控制流离开当前__try块作用域时,系统自动完成对__finally块代码的调用;第三种就是由于在__try块中出现异常时,导致程序控制流离

2012-07-30 14:20:32 6617

转载 获取IE历史记录

#include#include#include//IUrlHistoryStg2#include//CLSID_CUrlHistory,SHAddToRecentDocs#include//USES_CONVERSION;void GetIEHistory(){ USES_CONVERSION;//Unicode转Ansi用 CoInitialize(NULL);//初始化

2012-07-30 13:16:09 2032

转载 inline内联函数(声明前加inline还是定义前加inline)

(一)inline函数(摘自C++ Primer的第三版)在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联。      inline int min(int first, int secend) {/****/};      inline 函数对编译器而言必须是可见的,以便它能够在调用点内展开该函数。与非inline函数不同的是,inline函数必须在调用

2012-05-14 10:51:38 11952 1

原创 腾讯2012实习生笔试题其中一题

在如下8*6的矩阵中,请计算从A移动到B一共有多少种走法?要求每次只能向上挥着向右移动一格,并且不能经过P;BP

2012-05-11 14:06:04 2182 4

转载 C++字符换行

在C/C++语言中,可能我们要书写的一个字符串太长了,放在一行上影响代码的可读性。这时我们就需要多行书写了。 字符串多行书写有两种规则: 1. 在字符串换行处加一个反斜杠’\’,下一行前不能有空格或者Tab键;2. 使用双引号。 程序示例: /* * Introduction: * 测试C++中的字符串多行书写规则 */ #include #include

2012-05-11 13:57:36 6527

原创 在程序崩溃明产生DUMP

// 处理Unhandled Exception的回调函数//// 一个有函数调用的类// class CrashTest{public: void Test() { Crash(); }private: void Crash() { // 除零,人为的使程序崩溃 // int i = 13; int j

2012-05-09 22:10:22 1732

原创 取CPU信息

总共有两种方式,原理都是一样,只是一种没整合,一种整合成函数了. 第一种没整合过的:int _tmain(int argc, _TCHAR* argv[]){ char buf[256]; int a, b, c, d; _asm { mov eax, 80000002h cpuid mov a, eax mov b, ebx mov c, e

2012-05-09 22:09:03 550

C++中你必须知道的23种算法

C++中你必须知道的23种算法,基础的算法,适合初学者

2013-05-07

数据结构与算法分析C++描述第三版

这是讲算法的,个人觉得还不错,挺有用兵的

2011-03-30

空空如也

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

TA关注的人

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