自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

左雪菲的专栏

微信公众号:高性能服务器开发,分享超级编程技术干货。

  • 博客(299)
  • 资源 (20)
  • 收藏
  • 关注

原创 64位无符号整形格式化符号

%llu   是64位无符号(在VS2008中测试通过)说明:%lu不对

2015-10-13 16:22:14 2361

转载 客户端架构设计的简单总结

我们知道,客户端是相对服务端而言的,客户端程序相对普通应用程序,主要是增加了网络通讯功能。在这个移动和云存储的年代,大部分终端应用程序都有网络通讯功能, 所以都可以称为客户端。常见的客户端如浏览器,IM客户端, 网络会议客户端,邮件客户端,微博和微信客户端等...通过观察,我们会发现所有的客户端基本是大同小异,都会包括一些相同的功能组件, 下面简单例举下:通讯协议层

2015-09-20 23:25:29 2419

原创 WTL框架小结

创建窗口时先注册类,通过thunk技术将窗口过程设置为StartWindowProc;主应用程序类_Module至少有一个CMessageMap对象(可以增加、删除或者获得已经存在的引用),而CMessageLoop中存在两个数组,一个数组存放过滤消息结构:CMessageFilter,另外一个数组存CIdleHandler,用于空闲消息处理。CMessageFilter中只有一个PreTrans

2015-08-28 13:32:12 1973

原创 注册COM组件

#include "stdafx.h"#include int _tmain(int argc, _TCHAR* argv[]){ OSVERSIONINFO osvi={0}; osvi.dwOSVersionInfoSize=sizeof(OSVERSIONINFOEX); GetVersionEx(&osvi); //Vista以下系统不存在管理员权限运行程序的方式

2015-08-27 12:56:35 1670

原创 模拟QQ窗口抖动效果

RECT rtWindow; GetWindowRect(&rtWindow); //long x = 400; //long y = 200; long x = rtWindow.left; long y = rtWindow.top; long cxWidth = rtWindow.right-rtWindow.left; long cyHeight = rtWindow.bot

2015-08-25 16:59:28 1111

转载 TrackMouseEvent与_TrackMouseEvent

函数功能:当在指定时间内鼠标指针离开或盘旋在一个窗口上时,此函数寄送消息。  函数原型:BOOL TrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack);  参数:  lpEventTrack;指向结构TRACKMOUSEEVENT的指针。  返回值:如果函数调用成功,返回非零值;如果函数调用失败,返回值是零。

2015-08-20 16:21:01 812

原创 利用subwcrev.exe工具自动生成VS开发工具中的版本号

关于subwcrev.exe参见: http://tortoisesvn.net/docs/nightly/TortoiseSVN_zh_CN/tsvn-subwcrev.html http://tortoisesvn.net/docs/nightly/TortoiseSVN_zh_CN/tsvn-subwcrev-keywords.html基本格式是: SubWCRev WorkingCop

2015-08-05 10:48:02 6691

原创 #pragma alloc_text 用法

1、转自 :http://hi.baidu.com/billbeggar/blog/item/e884ce1acb10f49a6438db43.html 2、编译时控制分页能力 有时,驱动程序的某些部分必须驻留内存而另一些可以被分页,这就需要一种能控制代码和数据是否分页的方法。通过指导编译器的段分配可以实现这个目的。在运行时,装入器通过检查驱动程序中的段名, 把段放到你指定的内存池中。此外

2015-08-04 11:38:33 4102

原创 VC窗口刷新InvalidateRect和UpdateWindow

首先说说WM_PAINT这个重要的消息:   The WM_PAINT message is generated by the system and should not be sent by an application.The system sends this message when there are no other messages in the application’s mess

2015-07-16 23:09:14 4860

原创 ATL程序框架

stdafx.h#define STRICT#define VC_EXTRALEAN#include <atlbase.h> //基本的ATL类extern CComModule _Module;#include <atlwin.h> //ATL窗口类CMyWindow.h#pragma once#include "stdafx.h"#include "res

2015-07-12 13:08:23 1214

原创 plsql dev中Dynamic Performance Tables not accessible分析解决

解决问题的方式,见:http://www.xifenfei.com/1822.html

2015-07-08 10:50:21 662

原创 Oracle常用查看表结构命令

获取表: select table_name from user_tables; //当前用户的表 select table_name from all_tables; //所有用户的表 select table_name from dba_tables; //包括系统表 select table_name from dba_tables where owner=’用户名’ user

2015-07-03 13:06:08 604

原创 CFile 与 CStdioFile的区别

一. CFile类操作文件默认的是Binary模式,CStdioFile类操作文件默认的是Text模式。 在Binary模式下我们必须输入’\r\n’,才能起到回车换行的效果,’\r’只是回车(回到当前行的第一列),’\n’只是换行(到达下一行的当前列)。 而在Text模式下’\r’的工作是自动完成的,当我们写一个’\n’的时候,系统会自动帮我们在其前面加上一个’\r’,然后保存到文件里。

2015-06-28 13:00:26 1084

原创 代码安全增强与标准注解语言SAL

从Visual Studio 2005开始编译程序时就会遇到很多warning C4996警告。虽然没有错误但是这个警告估计还是让很多人不爽。MSDN上关于此警告有说”为了支持新的、更安全的函数,否决了某些 CRT 和标准 C++ 库函数,如果出于安全原因使用了否决的 MFC 或 ATL 函数,也可能发生 C4996”。以此为切入点来聊聊微软从Visual Studio 2005开始引入的一项针对程

2015-06-27 21:54:40 1114

原创 MFC CStringArray按标识符拆分字符串

CStringArray road; CString temp="a|b|c|d|e"; int s0=temp.ReverseFind('|'); road.Add(temp.Mid(s0+1)); while(s0>0) { temp=temp.Mid(0,s0); s0=temp.ReverseFind('|'); road.Add(temp.Mid(s0+1)); }

2015-06-27 19:21:53 1987

转载 C++中的单例模式

单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。 单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做到

2015-06-19 12:33:46 734

原创 vector.resize 与 vector.reserve的区别

std::vector的reserve和resize的区别 1. reserve: 分配空间,更改capacity但不改变size 2. resize: 分配空间,更改capacity也改变size如果知道vector的大小,resize一下可以当数组来用,不会分配多余的内存。reserve是容器预留空间,但并不真正创建元素对象,在创建对象之前,不能引用容器内的元素,因此当加入新的元素时,需要用

2015-06-15 16:58:54 1467

原创 不要在公共接口中传递STL容器

最近的一个项目,是开发一个framework,提供给公司内部不同的产品线使用。 之间遇到的一个问题,就是STL容器的使用, 而结论是不要在公共接口中传递STL容器:这里说的STL容器,但主要则是指容器,字符串类,但其实可以推广到在STL中提供的任何类型, 这里说的公共接口,是指需要暴露给客户的sdk头文件,包括函数签名,或者类成员变量; 也可以说,不要在暴露给客户的头文件中包含STL的头文件。原

2015-06-15 16:57:25 1008

原创 win7下上帝模式

在任何地方创建一个新文件夹,这个操作对于几乎所有电脑用户来说都非常简单,然后重要的是,将这个新文件夹重命名为“GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}”。大家最好直接复制过去,避免手动输入出错。接下来一回车,惊喜立即出现在你面前。

2015-06-13 15:21:22 742

原创 Windows获取本机机器名和ip地址及ip地址的字符串形式

CString CIOCPModel::GetLocalIP(){ // 获得本机主机名 char hostname[MAX_PATH] = {0}; gethostname(hostname,MAX_PATH); struct hostent FAR* lpHostEnt = gethostbyname(hostname);

2015-06-10 14:39:33 1545

转载 windows常用消息大全(系统消息、通告消息、用户消息)

文章参见:http://blog.csdn.net/nupt123456789/article/details/7370562

2015-06-05 17:03:22 917

原创 C++ new失败的处理

C++ new调用失败,不应该判断返回值是否为NULL,这样做在较新的编译器中没有意义。

2015-06-04 17:50:29 1775

原创 正确使用std::auto_ptr

正确使用std::auto_ptr 原文:http://blog.csdn.net/just_a_beginning/article/details/43867551, auto_ptr类auto_ptr是一个模板类,定义如下:template class auto_ptr {…};它存储的是一个指向Type的指针。顾名思义,auto_ptr是一种智能指针,它包含一个动态分配内存的指针,并在它

2015-06-01 22:18:57 793

原创 GDI和GDI+枚举字体

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-05-29 10:25:48 995

原创 gdi/gdiplus如何加载字体

对于gdi画法:云风的博客上这么说(http://blog.codingnow.com/2006/01/font.html):以前做游戏想用隶书,但是并非每台机器上都装有这个字体,所以有时候需要给用户提供一个。在自己软件的路径下放上字体文件,直接调用 CreateFont 这个 API 是不认的。这种情况下可以使用 AddFontResource ,然后调用PostMess

2015-05-19 16:23:57 3313

原创 VS2008中定位代码前一个大括号的方法

一直在找定位前一个大括号的方法,今天终于发现了,有时候一个代码块特别长,要调到前面部分,只能拉动滚动条,特别麻烦,今天想想,要将光标移动的前一个大括号,应该是先将光标移动到后一个大括号内侧,再用方向键才行,单独用方向键肯定不行,所以要加组合键,组合键一般也就是ctrl, shift, alt几个了,用试的办法了,最后发现时alt+方向键(上)。哈哈,以后可以省点事了。        今天发

2015-05-14 17:45:27 3088 2

原创 Windows窗口消息大全

Windows窗口消息大全,全不全自己看 ////////////////////////////////////////////////////////////////////////// #include "AFXPRIV.H"//消息值的定义来源 #include "Dde.h"//DDE消息值的定义来源 #include "CPL.H"//控制面板消息值的定义来源 #incl

2015-04-14 17:54:48 1311

原创 用WinInet开发Internet客户端应用指南

文章来源:http://www.cnblogs.com/zdxster/archive/2011/01/27/1945899.html实现步骤大家知道,每个Internet客户端程序都伴随有一定的目的行为,如读文件、写文件、删除文件等等。客户端的程序要实现这些行为的先决条件是建立Internet连接。然后再根据不同的目的进行具体的操作。为了方便起见,下面这这些张表格针对不同的应用行

2015-03-16 10:02:35 687

原创 VS调试时监视/查看全局变量

最近同事在调试一个十多年前就开始写的程序,在VS下基于MFC的项目,其中使用了部分全局变量,现在需要在原来的基础上增加新的功能,问我能不能用直接在Watch窗口直接查看全局变量值,他的方法是把全局变量赋值给局部变量再查看,由于多个位置需要就得添加很多的代码,调试完成还要删除,很是不方便。http://furzoom.com/vs-debug-watch-global-variable/VS

2015-03-02 13:46:23 30748 3

原创 求助:程序如何模拟鼠标点击一个TreeView节点?

void CreateTreeViewControl(HWND hMainWnd){ g_hTreeView = CreateWindow(WC_TREEVIEW, _T("Tree View"), WS_VISIBLE | WS_CHILD | WS_BORDER | TVS_HASLINES | TVS_LINESATROOT, 5, 5, 320, 480, hMainWnd, NULL

2015-02-05 17:26:29 4519

转载 VARIANT类型 详解

see http://blog.sina.com.cn/s/blog_5410e39e0100mert.html

2015-02-05 12:58:40 1839

原创 ARRAYSIZE宏与RtlpNumberOf的区别

// test_RtlpNumberOf.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include templatelong f1(T (&t)[N]){ //typedef T zz; //typedef T zz[N]; //zz a; return

2015-01-29 14:40:36 1715

原创 如何在程序异常或者崩溃时产生一个dump文件

核心API是:CreateFile()MinDumpWriteDump()需要包含头文件:#include #pragma comment(lib, "dbghelp.lib")代码如下:// test_dump.cpp : Defines the entry point for the console application.//#include "

2015-01-07 11:39:50 1630

原创 win32程序中如何使用GDIPlus

方法一:删除宏定义:#define WIN32_LEAN_AND_MEAN加上gdiplus.lib引用:#pragma comment(lib, "gdiplus.lib")包含gdiplus头文件:#include 添加初始化代码:ULONG_PTR gdiplusToken;GdiplusStartupInput gdiplusStartupI

2015-01-05 11:02:46 2917 1

原创 GDI 与 GDIPlus 获取文字宽度和高度的方法

GDI 与 GDIPlus 获取文字宽度和高度的方法 /// GDI获得字体宽度的方法CClientDC dc(this);  CFont font;  //Requested font height in tenths of a point.//For instance, pass 120 to request a 12-point font.)

2014-12-31 15:37:54 3856

原创 Calculating The Logical Height and Point Size of a Font

CreateFont第一个参数字体高度优先使用负数而不是正数。

2014-12-30 12:49:34 1389

原创 stl std::map容器排序及使用注意事项

#include "stdafx.h"#include #include int _tmain(int argc, _TCHAR* argv[]){ /** * map中的每个元素都是一个pair类型 * 对于插入其中的元素都会默认按键值升序排列好 */ std::map m; m.insert(std::pair(1, 20)); m.insert(std::p

2014-11-05 12:44:12 5454

转载 UTF-8编码规则

UTF-8是Unicode的一种实现方式,也就是它的字节结构有特殊要求,所以我们说一个汉字的范围是0X4E00到0x9FA5,是指unicode值,至于放在utf-8的编码里去就是由三个字节来组织,所以可以看出unicode是给出一个字符的范围,定义了这个字是码值是多少,至于具体的实现方式可以有多种多样来实现。UTF-8是一种变长字节编码方式。对于某一个字符的UTF-8编码

2014-10-31 15:47:30 1178

转载 窗口子类化

VC 中基于 SDK 编程的窗口子类化窗口子类化的作用窗口子类化技术最大的特点就是能够截取 Windows 的消息。一旦用户自定义的窗口函数截取了传向原窗口函数的消息,就可以对被截取的消息进行如下处理:将其传给原来的窗口函数。这是对大多数消息应该采取的措施,因为子类通常只对原来的窗口特性作少量的改动截取该消息,阻止其向原窗口函数发送。修改该消息,修改完毕以后

2014-10-15 16:06:18 799

转载 MFC的消息反射机制

1、消息反射解释:  父窗口将子窗口发给它的通知消息,首先反射回子窗口进行处理(即给子窗口一个机会,让子窗口处理此消息),这样通知消息就有机会能被子窗口自身进行处理。 2、MFC中引入消息反射的原因:  在Windows的消息处理中,子窗口的发给其父窗口的通知消息只能由其父窗口进行处理,这使得子窗口的自身能动性大大降低(你想,它连改变自己的背景色,处理一个自身滚动问题都要其父窗口来

2014-10-15 16:01:11 859

文章《用Android Studio进行NDK编程》配套资源

文章《用Android Studio进行NDK编程》配套资源,本来不想要积分的,可是现在CSDN规则改成资源至少是两分 - -!

2018-04-17

Gh0st全套源码

Gh0st是一款优秀的远程控制软件,其可以实现对被控制端诸如文件管理、远程桌面、进程管理、视频监控等操作。

2018-02-15

安卓版TeamTalk客户端源码

安卓版TeamTalk客户端源码,开发环境: IDE使用Android-studio java 1.7 gradle 2.2.1

2017-05-25

TeamTalk pc客户端源码

TeamTalk pc客户端源码,用VS2013直接打开即可编译调试。

2017-05-25

封装了WinInet的HttpClient库

封装了WinInet的HttpClient库,提供多个http接口,强大稳定。

2017-05-19

蘑菇街TeamTalk源码

蘑菇街 TeamTalk 源码 IM 即时通讯

2017-05-05

TeamTalk源码和redis-3.2.8安装程序

蘑菇街开源的即时通讯软件TeamTalk

2017-05-05

即时通讯flamingo服务器端代码

这是即时通讯flamingo服务器端代码,目前即时通讯软件实现了如下功能: 注册 登录 查找好友、查找群 添加好友、添加群 好友列表、群列表、最近会话 单人聊天功能(包括发文字、表情、窗口抖动、离线文件) 群聊功能(包括发文字、表情) 修改密码 修改个人信息(自定义昵称、签名、个性头像等个人信息) 自动升级功能 包括聊天服务器和文件服务器,同时也是一款通用的C++11网络框架。

2017-04-06

即时通讯flamingo客户端

目前即时通讯软件实现了如下功能(这里只列举网络相关的功能,其他客户端已经实现的功能不统计在列,请自行发现): 注册 登录 查找好友、查找群 添加好友、添加群 好友列表、群列表、最近会话 单人聊天功能(包括发文字、表情、窗口抖动、离线文件) 群聊功能(包括发文字、表情) 修改密码 修改个人信息(自定义昵称、签名、个性头像等个人信息) 自动升级功能

2017-04-06

myreactor项目C++11版本源代码

一个用C++写的echo服务器,运行在linux平台,使用epoll ET模式,支持多个客户端连接和收发消息,纯C11代码。包括C++11新的变量初始化方式、for循环、auto关键字、线程、互斥体、条件变量等C++11常用的技术。

2016-12-04

myreactorserver项目源码

myreactorserver项目源码,实现echo功能,使用epoll ET模式,运行在linux平台,支持多个客户端连接。

2016-12-04

JavaScript设计模式与开发实践.pdf

JavaScript设计模式与开发实践.pdf 高清 有目录

2016-11-04

UNIX环境高级编程(中文第三版).pdf

UNIX环境高级编程(中文第三版).pdf 有目录 清晰度勉强可以看

2016-11-04

编译系统透视:图解编译原理.pdf

编译系统透视:图解编译原理.pdf 高清 但是 没有目录

2016-11-04

Linux高性能服务器编程.pdf

Linux高性能服务器编程.pdf 高清带详细目录

2016-11-04

空空如也

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

TA关注的人

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