- 博客(41)
- 资源 (5)
- 收藏
- 关注

原创 far指针 near指针 hung指针
near指针和far指针在DOS下(实模式)地址是分段的,每一段的长度为64K字节,刚好是16位(二进制的十六位)。near指针的长度是16位的,所以可指向的地址范围是64K字节,通常说near指针的寻址范围是64K。far指针的长度是32位,含有一个16位的基地址和16位的偏移量,将基地址乘以16后再与偏移量相加,(所以实际上far指针是20位的长度。)即可得到far指针的1M字节的偏移量
2009-04-14 08:57:00
689
原创 lower_bound 与 upper_bound
每次使用 lower_bound 和 upper_bound 的时候,总是有些模糊,有些纠结。下面我按自己理解的意思将lower_bound和upper_bound 作了一一个简单明了的比较,留个笔记。1. 函数使用 lower_bound(first, end, avl) upper_bound(first, end, avl)1. lower_bou
2014-03-12 15:14:17
777
转载 php + Mysql + apache 环境配置
<br /><br />安装顺序:apache -> mysql -> freetype -> jpegsrc.v6b -> libpng -> libxml -> zlib -> gd -> php ( freetype,jpegsrc.v6b,libxml,zlib,libpng 的安装顺序不限)<br /> <br /> 系统 CentOS 5.2<br /> <br /> 所需软件版本 httpd-2.2.12.tar.gz ;<br /> mysql-5.1.43
2011-02-10 11:18:00
931
原创 my pow
<br /> <br /><br />template< class T><br />T mypow(T a, T b) {<br /> T ret = a;<br /> for (T i=1; i<b; i++) {<br /> ret *= a;<br /> } <br /> return ret;<br />}
2011-01-24 11:42:00
998
原创 linux screen + vim + taglist +ctags 使用
<br />1.screen<br /> <br /> 在 $HOME/下创建.screenrc文件 <br /> 在最后一行显示窗口状态加上如下几句话<br /> startup_message off<br /> hardstatus alwayslastline<br /> hardstatus string hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?
2010-09-18 16:55:00
1434
原创 c++ UML类图
转www.firnow.com 时间 : 2008-10-04 作者:佚名 编辑:本站 点击: 495 [ 评论 ]本文是我在读《大话设计模式》时的一篇读书笔记这个矩形框代表一个类,这是一个类图,它包括三层:显示类的名称,如果是抽象类,则用斜体表示。类的特性,通常为字段和属性。类的操作,通常是方法和行为。注意前面的符号:"+"表示Public,"-"表示private,"#"表示protect。这是一个接口图,与类图的主要区别是顶端有>,第一行是接口名称,第二行是接口方法。接口还有另一种表示法
2010-07-21 11:36:00
4235
原创 设计模式
<br /> 转自 “那谁的技术博客”<br /> <br />常见设计模式的解析和实现(C++)之二十一-完结篇<br /> 一个月下来,把常见的20个设计模式好好复习并且逐个用C++实现了一遍,收获还是很大的,很多东西看上去明白了但是真正动手去做的时候发现其实还是不明白--我深知这个道理,于是不敢怠慢,不敢写什么所谓的解释原理的伪代码,不敢说所谓的"知道原理就可以了"....因为我知道,我还还没有资格说这个话,至少对于设计模式而言我还是一个初学者,唯有踏实和实干才能慢慢的掌握到知识.<br
2010-07-20 17:08:00
730
转载 effect stl 条款1 仔细选择你的容器
<br />你知道C++中有很多你可以支配的容器,但是你意识到有多少吗?要确定你没有忽略你的选项,这里有一个快速回顾。标准STL序列容器:vector、string、deque和list。 标准STL关联容器:set、multiset、map和multimap。 非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一个重型字符串。(“rope”是一个重型“string”。明白了吗?)你可以找到一个关于这些非标准(但常见的)容器的概览在条款50。 非标准关联容器hash_set、ha
2010-06-28 16:53:00
653
原创 unix-shell 基础总汇
shell基础1:文件安全与权限 http://bbs.chinaunix.net/forum/v ... p;highlight=wingger附:Linux的用户和用户组管理 http://bbs.chinaunix.net/forum/v ... p;highlight=winggershell基础二:查找技巧,find及xargs的使用http://bbs.chinaunix.net/forum/v ... p;highlight=winggershell基础三和四:后台(crontab,at,&,
2010-06-23 09:27:00
600
原创 epoll精髓 转 徐东德ID:xddmiracle
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __FD_SETSIZE 1024表示select最多同时监听1024个fd,当然,可以通过修改头文件再重编译内核来扩
2010-06-22 13:43:00
835
原创 C++ 类型转换详解
const_cast static_cast dynamic_cast reinterpreter_cast 1. const_cast 去掉const或volatile属性转换 struct SA { int i; }; const SA ra = {1}; //ra.i = 10; //直接修改const类型,编译错误 cout SA &rb = const_cast(ra
2010-05-26 15:16:00
1036
原创 dup与dup2
dup和dup2函数原型int fds = dup(oldfds);int fds = dup(oldfds,newfds);dup函数,复制oldfds至fds,dup2赋值oldfds至newfds(也可以说是将newfds重定向到oldfds),如果newfds以打开,则会关闭newfds,如果newfds等于oldfds,则直接返回newfds。close(fds) fds = dup
2010-05-18 16:54:00
1442
原创 TCP SYN,ACK 详解
TCP协议:::三次握手:握手过程的第一个段的代码位设置为SYN,序列号为x,表示开始一次握手。接收方收到这个段后,向发送者回发一个段。代码位设置为SYN和ACK,序列号设置为y,确认序列号设置为x+1。发送者在受到这个段后,知道就可以进行TCP数据发送了,于是,它又向接收者发送一个ACK段,表示,双方的连接已经建立。Client --> 置SYN标志 序列号 = J,确认号 = 0 ----
2010-05-18 16:50:00
36801
原创 原始套接字发包
#include #include #include using namespace std;#include #include #include #ifndef WIN32# include # include # include # include #else# include # include # define errno GetLastError()# pragma
2010-04-16 17:10:00
2350
原创 C调用python
#! python# FileName: pytest.pys = "yanhuangzixun";def num(a,b): c = a + b; print "python return the value is ",c; return c;class url: def __init__(self,name,age): self.name =
2010-04-06 17:09:00
2410
原创 xuyaogaijin
//api//必须以http://开头bool CUrl::parseStartHttp(const char* line){ if(line == NULL ) return false; int dep = 7 ; int nfind = 0; const char* pHost = line + dep; while(*pHost != /0 && *pHost != / && *
2010-02-06 16:17:00
659
原创 线程锁
#ifndef __THREAD_H__#define __THREAD_H__#include class CThread {public: typedef DWORD (WINAPI *ThreadProc)(LPVOID lpThreadParameter); CThread(); ~CThread(); bool Create(ThreadProc pfun,void * lpPa
2010-01-28 22:39:00
704
原创 LINUX守护进程
int Daemon(char* szExecName = NULL){ int res = 0; pid_t pc; pc = fork(); if(pc { fprintf(stderr,"ERROR_Deamon()_fork(): failed!"); return -1; } else if(pc == 0) //sub process { } else if(pc > 0) /
2010-01-21 12:44:00
572
原创 存储,调用
7.static面向过程: 变量:存储在全局数据区(程序的数据存储区依次为,代码区,全局数据区,堆区,栈区),生命周期为程序的整个运行周期,如果是静态局部变量,其作用域跟不同变量一样,只在本函数类可见,如果是全局变量,则只在定义它的文件中可见。其他文件中不可见。 函数:其作用域只在定义的文件中可见,其他文件不可见。面向对象: 变量:生命周期同上,其作用域专属于类,不是某个类所特有。可以用类名
2010-01-21 12:43:00
590
原创 linux 守护进程
int Daemon(char* szExecName = NULL){ int res = 0; pid_t pc; pc = fork(); if(pc { fprintf(stderr,"ERROR_Deamon()_fork(): failed!"); return -1; } else if(pc == 0) //sub process { } else if(pc > 0) /
2010-01-21 12:43:00
572
原创 linxuPipe
5.linux 下管道通信server#ifndef _NAMEDPIPE_SERVER_H_#define _NAMEDPIPE_SERVER_H_class CNamedPipeServer{#ifndef IN#define IN#endif#ifndef OUT#define OUT#endifpublic: CNamedPipeServer(); ~CNamedPipeSer
2010-01-21 12:42:00
522
原创 3333
3.查看system系统调用后程序的返回值WEXITSTATUS(返回值)。4.词条简介 DECLARE_DYNAMICDECLARE_DYNAMIC( class_name )参数: class_name 类的实际名字(不用引号括起来)。 说明:当你从CObject继承一个类的时候,这个宏加入了访问类的运行时信息的能力。在类的头文件(.H)中加入DECLARE_DYNAMIC
2010-01-21 11:54:00
585
原创 http下载
1.http:下载 #ifndef GET_REQUEST#define GET_REQUEST "GET %s HTTP/1.1/r/n" / "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; CNCDialer; Maxthon; .NET CLR 1.1.4322; .NET CLR 2.0.50727)/r/
2010-01-21 11:53:00
660
原创 比较安全的strcpy
int my_strcpy(char* szDst,int nDstlen,const char* szSrc){ if(szSrc == NULL || szDst == NULL) return -1; int i = 0; char *szTmp = szDst; while( ++i if(i == nDstlen) *szTmp = /0; return i;}
2010-01-21 11:53:00
642
原创 排序
void Pop(int table[],int n){ for (int i = 0; i { cout } cout}void Swap(int& a,int& b){ int k = a; a = b; b = k;}void OutPut(int table[],int m){ static int ntimes = 0; ntimes++; //printf("the %d
2010-01-21 11:51:00
499
原创 图片多多媒体路径搜索
#ifndef _PARSEIMAGE_H_#define _PARSEIMAGE_H_//class CImageTagParser{ const char* m_pNextPos;public: enum { IMAGE_TYPE=0, MEDIA_TYPE }; CImageTagParser(const char* pData) { m_pNextPos = pData;
2009-12-25 10:37:00
598
原创 不区分大小写的字符穿搜索函数,自己写的,效率比StrStrI要高
inline char low(char c) { if( c >=A && c { return (c + a -A); } else { return c; } }//返回首地址,outlen 为字符串的char* stringcase(const char* src,int srclen,const char* strcharset,int charse
2009-12-25 10:33:00
781
原创 http下载
1.http:下载 #ifndef GET_REQUEST#define GET_REQUEST "GET %s HTTP/1.1/r/n" / "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; CNCDialer; Maxthon; .NET CLR 1.1.4322; .NET CLR 2.0.50727)/
2009-12-25 10:29:00
449
原创 文件监视
文件监视: windows:方法(一): 利用FindFirstChangeNotification(),WaitForSingleObject(),FindNextChangeNotificion(),FindCloseChangeNotification()等函数; demo: //thread void ThreadRoute( void* arg ) { HANDLE file;
2009-12-03 16:27:00
1118
原创 待解决
int CCrawlAdapter::MediaMath(const char* strData,const char* url,const char* Ip,const char* domain){ if(strData == NULL || strlen(strData) == 0) return -1; int size = str
2009-11-20 17:59:00
600
原创 C/C++读写文件(fwrite,fread)
/转载 http://www.cnblogs.com/an-wl/archive/2008/10/21/1316292.html1.函数功能 用来读写一个数据块。2.一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,count,fp);3.说明 (1)buffer:是一个指针,对fread来说,它是读入
2009-09-05 14:53:00
2921
原创 获取文件的信息
//文件的版本信息(大小和制造商)struct FILEVERSION{ DWORD dwSize;//文件大小 char szName[256];//文件的出品公司}; /*--------------------------------------函数描述:获取文件的大小和出品公司输入参数:filepath 文件的路径输出参数:pFileVersion 文件的版本结构信息(大小,出品公
2009-08-18 12:01:00
562
原创 让程序不在任务栏上出现
DWORD dwStyle = ::GetWindowLong(AfxGetMainWnd()->m_hWnd,GWL_EXSTYLE); dwStyle = WS_EX_TOOLWINDOW; AfxGetMainWnd()->ShowWindow(FALSE); ::SetWindowLong(AfxGetMainWnd()->m_hWnd,GWL_EXSTYLE,dwStyle); A
2009-08-18 11:57:00
594
原创 提升进程权限
/////////////////////////////////提升进程权限///////////////// char* szPrivName = SE_DEBUG_NAME; HANDLE hToken; LUID sedebugnameValue; TOKEN_PRIVILEGES tkp; if(!OpenProcessToken(GetCurrentProcess(), TOKE
2009-08-18 11:54:00
862
转载 ProcessInfo 代码
#include "stdafx.h"#include "ProcessInfo.h"#ifdef _DEBUG#define new DEBUG_NEW#endif////TODO: 如果此 DLL 相对于 MFC DLL 是动态链接的,// 则从此 DLL 导出的任何调入// MFC 的函数必须将 AFX_MANAGE_STATE 宏添加到// 该函数的最前面。////
2009-06-19 13:14:00
1589
转载 图像的灰度化原理和实现
今天看到别人写了这个,觉得不错,就转载过来拉,不为别的,只是想给自己做个笔记记录,以后方便复习。 将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范
2009-05-17 10:33:00
2742
2
原创 BOOL 与bool 的区别
大BOOL和小bool之间的区别:一、1、类型不同BOOL为int型bool为布尔型2、长度不同bool只有一个字节BOOL长度视实际环境来定,一般可认为是4个字节3、取值不同bool取值false和true,是0和1的区别BOOL取值FALSE和TRUE,是0和非0的区别 二:bool是标准C++数据类型,可取值true和false。单独占一个字节,如果数个bool对象列在一起,可能会各占一
2009-04-14 08:55:00
812
原创 改变对话框的背景色
改变对话框的背景色有很多种方法,例如:方法一:调用CWinApp类的成员函数SetDialogBkColor来实现。 BOOL CXXXX: : InitInstance ( ) { … CXXXX dlg; m_pMainWnd = &dlg; //先于DoModal()调用,将对
2009-04-04 09:59:00
727
原创 VCMFC 实现托盘程序
#define WM_NOTIFYICON WM_USER+5 //自定义消息ID 在。h中 DECLARE_MESSAGE_MAP() 前 写 入afx_msg void OnNotifyIcon(WPARAM wParam, LPARAM lParam); 在。CPP中实现 void XXXXX::OnNotifyIcon(WPARAM wParam
2009-03-22 09:33:00
684
一套很好用的皮肤库文件
2009-10-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人