
C/C++/MFC
jianghuihong2012
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C#加密解密类
本类亲测有效:using System;using System.Text;namespace CS{ //BASE64机密机密类,并且替换加密解密后产生的“/”。 public class cstring { public string ENCODE(string title) { byte[] bytes = Encodin转载 2014-03-12 15:05:12 · 546 阅读 · 0 评论 -
libevent介绍及示例
一、Libevent简介 libevent是一个基于事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。官网:http://libevent.org/特点:事件驱动,高性能;轻量级,专注于网络,不如ACE那么臃肿庞大,只提供了简单的网络API的封装,转载 2014-03-19 10:33:41 · 887 阅读 · 0 评论 -
顺序输出从1到N位的所有数字(N可能是一个大数位)。
顺序输出从1到N位的所有数字(N可能是一个大数位),如到N=3时,输出所有1-999的数字。如果N=10时,输出所有1-999999999的所有整数。注意,这里的N可能会很大,也就是要注意大数的处理。解析:这里我们要注意,如果采用系统自带的int可能会溢出,那么我们可以考虑用字符数组的方式来解决问题。也就是用字符数组来模拟整数的加法问题。下面就是给出了可以代码。#include原创 2014-03-29 13:22:21 · 2380 阅读 · 0 评论 -
手把手教你redis数据库的二次开发
本教程系列由本人总结,未经本人允许,谢绝转载。功能说明:通过修改源代码的形式,实现redis自带的命令set key value的功能。并且新的命令为make key value,注意,所有修改的源文件都处于src目录下面需要修改的部分:1 redis.c该文件是redis数据库服务器端主文件,也就是main函数入口处。所有的命令定义均在该文件定义的全局变量中。struct原创 2014-03-18 17:23:03 · 3177 阅读 · 0 评论 -
卡特兰数及栈出栈顺序问题的相关研究
一、卡特兰数卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。在这里表示对数学家的尊敬,同时。。。也因为他发明了这些难懂的东西,脑袋都被这些数学家弄炸了。首先是卡特兰数的定义:令h(0)=1,h(1)=1,catalan数满足递推式:h(n)= h(0)*原创 2014-04-16 09:55:10 · 1896 阅读 · 0 评论 -
求解一个数组里等于给定整数和的两个数的O(n)时间复杂度算法
#include using namespace std;#define size 10//求一個有序数组中和等于某个数的算法//若成功则返回1 若失败则返回-1//采用从两端分别降低区间int togetherAdd(int arr[],int value){ int i=0; int j=size-1; while(i<=j) { if(i==j)return -1;原创 2014-04-16 14:36:29 · 2296 阅读 · 0 评论 -
求子数组的最大和问题
#include #include using namespace std;#define size 8//返回一个数组的最大值int max(int data[]){ int temp=data[0]; for(int i=1;i<size;i++) { if(temp<data[i])temp=data[i]; } return temp;}//采用动态规划方法原创 2014-04-17 16:07:43 · 904 阅读 · 0 评论 -
C语言 内存分配 地址 指针 数组 参数 实例解析
目录void 与 void 1 void 简介2 void简介C 语言 程序内存分配1 内存分区状况2 内存分配方式3 register变量4 extern 变量5 static变量 与 全局变量区别6 堆 和 栈比较7 各区分布情况指针与地址1 与 操作2 指针定义解析3 指针运算及示例函数参数的传值调用转载 2014-03-23 13:22:23 · 1160 阅读 · 0 评论 -
小笔记~ubuntu下的屏幕亮度调节
点击:系统设置,在系统设置里选择锁屏就可以了。原创 2014-03-23 19:34:44 · 662 阅读 · 0 评论 -
C#模拟登陆核心代码
using System;using System.IO;using System.Net;using System.Text;namespace Examples.System.Net{ public class WebRequestPostExample { public static void Main () {转载 2014-05-05 09:48:29 · 703 阅读 · 0 评论 -
十五分钟介绍Redis数据结构
Redis是一种面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景。它起步较晚,发展迅速,目前已被许多大型机构采用,比如Github,看看谁在用它。本文翻译自Redis的一篇官方文档:A fifteen minute introduction to Redis data types方便感兴趣的朋友,快速介绍Redis的数据类型。中英文对照转载 2014-03-18 21:50:19 · 629 阅读 · 0 评论 -
redis数据库中的sds.h中字符串数组的一个说明
在redis源码sds.h中对于字符串结构体的定义如下:typedef char *sds;struct sdshdr { int len; int free; char buf[];};这里刚开始没有看明白char buf[]是什么个形式,不是说C语言里数组必须要初始化大小吗?那么这里是什么东西?我们先用一个简单的方法来查看一下结构体sdsh原创 2014-04-15 12:41:27 · 1174 阅读 · 0 评论 -
C#写入TXT文本代码
string temp=this.comboBoxPROXY.Text; string[] mapi=temp.Split(new char[] { '|' }); FileStream fs=new FileStream("data\\"+thisuser+"\\"+usr+"\\server.txt", FileMode.Create); Stream原创 2014-03-12 16:25:58 · 926 阅读 · 0 评论 -
C语言UNION结构大小的问题
union结构体的大小取决于最大的变量长度。例如:#include #include using namespace std;union one //返回最大的变量4字节{ int a; char b;};union two //返回最大的变量1字节{ char a; char b;};union myt //返回最大的name 16字节原创 2014-03-08 13:33:46 · 2163 阅读 · 0 评论 -
C++计算器代码
#include using namespace std;int main(){ while(true) { try { int x; scanf("%d",&x); char c; scanf("%c",&c); int y; scanf("%d",&y); switch(c) { case '+': co原创 2014-03-13 19:43:36 · 2138 阅读 · 0 评论 -
C++工程模式
#include using namespace std;//虚基类class Operation{protected: int numberA; int numberB;public: void setA(int _number) { numberA=_number; } int getA() { return numberA; } void setB转载 2014-03-13 19:44:12 · 1389 阅读 · 0 评论 -
如何判断系统是大端还是小段算法
如何判断系统是大端还是小段算法,并且给出了关于内存布局的分析和例子。原创 2014-03-09 17:00:32 · 3328 阅读 · 1 评论 -
邮件收取客户端LumiSoft类库接收yahoo邮件的问题。
//开始循环取邮件数据 m_pImap.Fetch( false, IMAP_t_SeqSet.Parse("1:*"), new IMAP_t_Fetch_i[]原创 2014-03-27 20:38:02 · 3614 阅读 · 0 评论 -
LINUX下的fork例子
#include #include #include int main(){ pid_t pid; if((pid=fork())==-1)printf("error"); else if(pid==0) { printf("i am the son!"); } else { printf("i am the father!"原创 2014-03-17 17:39:44 · 619 阅读 · 0 评论 -
redis数据库中的几个关键结构体解析
1 redis.h/* A redis object, that is a type able to hold a string / list / set *//* The actual Redis Object */#define REDIS_LRU_CLOCK_MAX ((1lru */#define REDIS_LRU_CLOCK_RESOLUTION 10 /* LRU clo原创 2014-03-18 21:32:47 · 2494 阅读 · 0 评论 -
redis源码分析之t_string.c
redis源码分析之t_string.c,该文件是处理string类型的源文件,注释略去,具体分析如下:#include "redis.h"#include /* isnan(), isinf() *//*----------------------------------------------------------------------------- * String原创 2014-03-18 14:25:32 · 1317 阅读 · 0 评论 -
heap 和 stack 的区别
个人总结:1 位置不同:堆和栈在内存中的位置不同,栈在高地址,堆在低地址2 用途不同:栈是由系统申请,堆是由程序员申请3 回收方式不同:栈是由系统自己释放,在程序结束之前,需要由程序员手动释放。4 大小不同:栈通常容量比较小,堆的内存容量比较大。附上内存分布知识:一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放原创 2014-03-24 08:57:04 · 1503 阅读 · 0 评论 -
C++中的静态变量地址探讨
#include"stdio.h"//全局静态变量static int a;void say(){ //静态变量 static int b; printf("b %p\n",&b); //栈临时变量 int c; printf("c %p\n",&c);}int main(){ printf("a %p\n",&a); say(); return 0;}原创 2014-03-23 13:40:52 · 1961 阅读 · 0 评论 -
redis的sorted set用法
1 首先是建立一个sorted set。命令截图如下:其中zadd myset 1000 "文员"是一个增加集合元素的命令。zadd表示增加 myset表示集合名称 1000表示key,文员表示值。从小到大返回myset的元素。其中0 -1表示下标。如果是0 -1表示显示所有。如果是一个正常的范围值,则会显示该下标范围的所有值。如返回0-4的下标的职位名称。原创 2014-03-25 13:19:06 · 1299 阅读 · 0 评论 -
C++本类可以访问本身类的私有成员(即拷贝构造函数可以访问本身对象的私有成员)
#include #include using namespace std;class String{public: String(const char *str=NULL); String(const String &another); ~String(); String& operator=(const String& rhs); private: char* m_da原创 2014-04-10 21:59:43 · 1687 阅读 · 0 评论 -
查找第二大数的算法
#include #include #include using namespace std;//寻找第二大的数 采用记录两个数的办法int secondbig(int data[],int N){ assert(N>=2); int first,second; if(data[0]>data[1]) { first=data[0]; second=data[1];原创 2014-04-12 20:12:10 · 1982 阅读 · 0 评论 -
http协议区分头信息和正文
http协议中的头信息和正文是采用空行分开,什么是空行呢?简单来说,就是\r\n\r\n。所以将服务器返回的数据用\r\n\r\n分开后的结果,一个是头信息,一个是正文信息。C#的代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;usi原创 2014-05-19 16:53:21 · 1868 阅读 · 0 评论 -
在OPENSSL编程中出现这个问题的解释
在编译的时候,如果出现了这个问题: undefined reference to `DH_new'这个是表示在编译的过程中,应该带上编译参数,也就是用原创 2014-05-20 22:46:41 · 787 阅读 · 0 评论 -
C#皮肤使用说明
Visual Studio 2005工具箱上右击选择“选择项”,慢慢等...在弹出的“选择工具箱项”选项卡中,点击“浏览”,找到IrisSkin2.dll存放的位置,双击,你会发现多了个“SkinEngine”,确定。将公共控件里的“SkinEngine”,拖到窗体上,将皮肤文件*.ssk在“解决方案资源管理器”中添加到bin文件夹下的Debug文件夹下。(先复制皮肤文件*.ssk原创 2014-06-08 21:48:50 · 1078 阅读 · 0 评论 -
C#调用webkit源码
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using WebKit;namespace webkittest原创 2014-06-08 21:49:55 · 1626 阅读 · 0 评论 -
C#获取验证码函数
//获取验证码 public string GetVerifyCode(string sourceUrl)//获取验证码 { CookieContainer cc = new CookieContainer(); HttpWebRequest req = (HttpWebRequest)HttpWebRequest.C原创 2014-06-08 21:54:06 · 1048 阅读 · 0 评论 -
php+redis+python网站部署方案
1 采用原web总数据库,后端直接采用php。2 采用原web总数据库,后端采用python/php+redis数据优化方案。3 采用新的数据库,即将原有数据库拷贝,后端采用python/php+redis数据优化方案。采用redis数据库可以大幅度提高查询性能。部署方案图原创 2014-06-08 21:59:19 · 1063 阅读 · 0 评论 -
C#邮件接收系统核心代码(接收POP3邮件IMAP邮件)
/* * Created by SharpDevelop. * User: Administrator * Date: 2013/11/18 * Time: 20:55 * * To change this template use Tools | Options | Coding | Edit Standard Headers. */using System;using Sy原创 2014-06-10 09:34:42 · 12476 阅读 · 0 评论 -
C++虚函数多态的实现原理
实现虚函数的方法:给每个对象添加一个隐藏成员,隐藏成员中保存了一个指向函数地址数组的指针。也就是说,每个对象都添加了一个指针,这个指针指向了一个数组,其中数组存放的是函数的地址。那么在继承的情况下,我们可以用下面这个图来形容因此我们首先可以明白几点:1、每个类都会有一个虚指针和虚函数表。2、子类没有重新实现的,虚函数表将保存父类函数的原创 2014-04-10 19:16:58 · 1034 阅读 · 0 评论 -
webkit.net手动添加事件代码
//加载全局初始化变量 WebKit.WebKitBrowser browser = new WebKitBrowser(); browser.DocumentCompleted += new System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(this.browser_Docum原创 2014-05-17 09:36:51 · 2963 阅读 · 0 评论 -
用VC来学汇编
我采用了对照的方法来学习汇编,也就是通过查看VC中的代码对应的汇编程序的执行来分析。如下是一段简单的VC中的C语言:#include"stdio.h"int gt(int a,int b){ return a+b;}int main(){ int x=12; int y=1; int c=gt(x,y); int z=0; return 0;}如上述代码,很简单原创 2014-03-24 22:12:53 · 962 阅读 · 0 评论 -
一道C语言的指针笔试题
题目如下:#includeint main(){ char *a="Aliyun"; char **b=&a; *b="programming test"; char *c=++a; a="talents."; printf("%c\n",*++c); return 0;}问输出是什么。我们一步步分析。首先是第一句: char *a="Aliyun";,这句程原创 2014-03-25 22:04:34 · 1353 阅读 · 0 评论 -
C++中类的构造函数调用顺序
C++子类和父类的构造函数调用顺序#include using namespace std;//子类class base{public: base() { cout<<"i am base constuction!"<<endl; }};//父类class drived : public base{public: drived() { cout<<"i原创 2014-03-27 10:33:12 · 1522 阅读 · 0 评论 -
C# VS2010中引用Alchemy Websockets出错的解决方案
查了一下client profile的一些解释:那么到底加了Client Profile和不加的有啥区别呢? Bing一下就会有发现了。(Bing的照片很是Nice,所以偶尔回去用看看照片顺带着也搜索一下,呵呵!)Jossef的博客 What’s new in .NET Framework 4 Client Profile Beta 2 给出了详细的解释。简而言之,加了Client Profi原创 2014-04-22 15:14:02 · 1342 阅读 · 0 评论 -
TCP三次握手(建立连接)/四次挥手(关闭连接)
相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助. 而且对于有网络协议工程师之类笔试,几乎是必考的内容.企业对这个问题热情之高,出乎我的意料:-)。有时上午面试前强调这个问题,并重复讲一次,下午几乎每一个人都被问到这个问题。 因此在这里详细解释一下转载 2014-04-23 09:34:58 · 902 阅读 · 0 评论