- 博客(30)
- 资源 (13)
- 收藏
- 关注
原创 线程安全的单列类
#include "stdio.h"#include "string.h"#include class CTest{public: static CTest* GetInstance(){ if (false == m_IsCreate){ m_pInstance = new CTest(); m_IsCreate = true; printf("create\n
2013-12-29 21:47:09 1403
原创 重写字符串类吧
#include "stdio.h"#include "string.h"class CMyStr{ public: CMyStr(const char* pData){ if (NULL == pData){ printf("null data\n"); return; } const int length = strlen(pData); m
2013-12-29 21:07:40 1036
原创 单链表查找倒数K个节点
思路还不算难,关键是链表操作容易出错:#include #include struct Node{ Node(int value) : m_Value(value) , m_pNext(NULL) { } int m_Value; Node* m_pNext;};Node* CreateNode(int n){ Node* node = new Node(0);
2013-12-27 14:12:32 1252
转载 【Visual Studio】VS2012中利用Visual Assist X添加文件头和函数注释
http://www.cnblogs.com/osyun/archive/2011/06/27/2091727.html一个好的项目工程,注释是必不可少的,vc助手中有一个功能可以帮助我们快捷添加注释。设置方法如下: 1、点击Visual Assist X Options 2、选择ADvanced->suggestions,在右侧选择Edit VA Snippets
2013-12-25 12:59:44 5068
转载 同学 OJ的列表
以下是本人此前在 Live Space 中搬家到新浪,最后又搬来这里的题目分类,有关于 zoj 的分类以此为准,此前的其他博文均将撤销。简单题#1001 -____-b A+B。#1110 Dick and Jane 胡乱枚举收缩一下情况就可以了。#1115 a[i+1] = a[i] 的全部数位上的加起来,直到剩下一个,直接模拟。#1414 太弱太弱,按照模 4
2013-12-18 20:54:26 1227
转载 acm~北大oj分类
一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法: (
2013-12-18 20:44:48 1871
原创 大数相加算法
思路就是存数据,怎么大都不再怕啦!#include "stdio.h"#include "string.h"char m1[1001];char m2[1001];int BigAdd(int a, int b){ printf("a:%d,b:%d\n",a,b); sprintf(m1, "%d", a); sprintf(m2, "%d", b); int len
2013-12-17 20:33:47 1337
原创 lua加载文件 读取数据到C
void load (lua_State *L, const char *fname, int *w, int *h) { if (luaL_loadfile(L, fname) || lua_pcall(L, 0, 0, 0)) return; //rror(L, "cannot run config. file: %s", lua_tostring(L,
2013-12-16 20:19:59 1871
原创 lua multiple thread 需要注意的事情
All interpreter state is self contained in each Lua instance. I would even say that is the preferred way to use Lua with multiple threads and/or processes.If you find that you do need to communica
2013-12-16 17:49:14 3833
转载 Lua source code Recommended reading order by mikemike
Online Lua 5.1 source code browserRecommended reading order:lmathlib.c, lstrlib.c: get familiar with the external C API. Don't bother with the pattern matcher though. Just the easy functions.l
2013-12-16 16:40:33 1834
原创 lua实现全排列
function printResult (a) for i = 1, #a do io.write(a[i], " ") end io.write("\n")endfunction Permute(a,k) local len = #a if(len == k) then printResult(a) else for i=k, len do a[i], a[k]
2013-12-13 13:49:09 2844
原创 lua生产者-消费者学习
继续看第九章,不过这次是看英文版,读起来没啥难度,学习一点代码:典型的生产者-消费者模型:produter生成Salt,consumer消费掉:--线程local function producer() return coroutine.create( function(salt) local t = {1,2,3} for i = 1,#t do salt = c
2013-12-12 23:06:11 1468
原创 lua5.2下使用lua_tinker
棒子git上的模样更新,but已经有大侠修改了它的源码,可以运行啦!// lua_tinker.h//// LuaTinker - Simple and light C++ wrapper for Lua.//// Copyright (c) 2005-2007 Kwon-il Lee (zupet@hitel.net)// // please check Licence.txt
2013-12-11 19:30:16 3368 1
原创 在Win7下编译Lua5.2.3
http://yizhenfei.is-programmer.com/posts/37578.html环境Windows 7Visual Studio 2013(VS2008也可以)Lua 5.2.1(Lua5.2.3也适用) 动机因为自己比较弱,还不是非常习惯在Vim里看源代码,所以决定还是把阅读Lua源码的事情放在Windows平台上做。So
2013-12-11 13:17:28 2780
原创 std::map源码分析
默认构造的时候 初始化: void _Init() { // create head/nil node and make tree empty _Myhead = _Buynode(); _Isnil(_Myhead) = true; _Root() = _Myhead; _Lmost() = _Myhead, _Rmost() = _Myhead; _Mysize =
2013-12-11 11:55:18 6580
转载 Lua学习笔记(2): 协程
http://forestgump.me/2013/01/lua-coroutine/这篇文章来自于阅读lua的作者写的coroutines in lua, 翻译了一部分, 又加入一些了自己的理解. 形式化描述那部分没有翻译, 还有一些关于continuation机制的也没有过多翻译, 这两个方面的链接已经列在文末.摘要协程在过去是一个被人遗忘的概念, 不过
2013-12-10 18:44:17 2195
原创 libevent简单分析
一看名字就知道是围绕eventloop转的。那首先肯定是eventloop是个什么?一般都是IO事件,timer事件的管理器。那首先看如何new出来一个eventloop:1、因为libevent是跨平台的,在不同平台上会有不同的配置,首先读配置:struct event_config {TAILQ_HEAD(event_configq, event_config_entry)
2013-12-08 22:40:35 1689
转载 游戏服务器中的数据库异步操作技术和游戏数据的保存机制
http://www.cppblog.com/jaxe/archive/2010/08/30/125258.html在游戏服务器中,处理玩家登陆需要向数据库查询玩家的账号和密码,玩家上线和下线需要对玩家的角色数据从数据库中读取和保存。可以说,相对于游戏逻辑处理来说,数据库操作是一种相对很慢的操作,即便你通过使用多个线程多个数据库连接来提高数据库操作的处理能力,但是,在高并发高负载的服务
2013-12-07 13:50:53 4082
转载 干活来袭:Effective Concurrency: Know When to Use an Active Object Instead of a Mutex
This month’s Effective Concurrency column, “Know When to Use an Active Object Instead of a Mutex,” is now live on DDJ’s website.From the article:Let’s say that your program has a shared lo
2013-12-06 12:33:05 1432 1
原创 红黑树 实现 研究
看了 程序抽象思想 里面写了部分代码,但是想把它补全,表示很蛋疼!有问题:#include "stdio.h"#include struct nodeT{ nodeT() : pLeft(NULL) , pRight(NULL) , bf(0) { } std::string key; nod
2013-12-05 14:00:08 940
原创 Boost asio async_accept memory leak问题分析
可以看下stackflow上的问题描述:Using boost::asio i use async_accept to accept connections. This works good, but there is one issue and i need a suggestion how to deal with it. Using typical async_accept:
2013-12-05 11:14:35 2857
转载 Just Works的力量——Google科学家Jeff Dean斯坦福大学演讲的启示
文 / 汪源MapReduce、BigTable等系统的创造者Jeff Dean于2013年1月19日在斯坦福大学演讲的内容纵贯系统软件与机器学习两大领域。通过对资源共享及其带来的响应时间波动问题、异步分布式随机梯度下降算法及其应用这两块主要内容的介绍,Jeff Dean深入展示了通用、简洁、Just Works系统的强大魅力。同时演讲中展示的在深度学习领域取得的突破尤其振奋人心。
2013-12-03 12:22:43 1089
转载 MySQL索引背后的数据结构及算法原理
原文链接:http://www.codinglabs.org/html/theory-of-mysql-index.html1 摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只
2013-12-03 10:27:41 1191
转载 实际项目中的常见算法
【编者按】本文原始内容来源于stackexchange,遵循cc-wiki协议;近日Emanuele Viola在Stackexchange上提了这样的一个问题,他希望有人能够列举一些目前软件、硬件中正在使用的算法的实际案例来证明算法的重要性,对于大家可能给到的回答,他还提出了几点要求:使用这些算法的软件或者硬件应该是被广泛应用的;例子需要具体,并给出确切的系统、算法的引用
2013-12-02 13:10:15 1889
原创 windows下libevent VS2012编译
首先在http://libevent.org/上下载最先的libevent压缩包。源文件有个问题,evutil.c源码修改这部分 #ifdef WIN32#include #include #pragma comment(lib,"ws2_32.lib") #define WIN32_LEAN_AND_MEAN#include #undef WIN32_LEAN_AND_MEA
2013-12-01 17:23:34 4647
转载 Protocol Buffers 中实现 ZeroCopyStream 来减少内存拷贝
http://name5566.com/2633.html我们在序列化、反序列化 Protobuf message 时为了最小化内存拷贝,可以实现其提供的 ZeroCopyStream(包括 ZeroCopyOutputStream 和 ZeroCopyInputStream)接口类,ZeroCopyStream 要求能够进行 buffer 的分配,这体现在一个名为 Next 的接口上
2013-12-01 16:31:49 5723
原创 google probuf解析原理分析
上一篇转载的文章分析了PB的编码方式,解析的很详细。下面来分析下PB解码的细节:来看这个基本函数:bool MessageLite::ParseFromArray(const void* data, int size) { return InlineParseFromArray(data, size, this);}里面会继续调用:bool InlineParseFromA
2013-12-01 16:00:18 8710
转载 Google Protocol Buffers 编码(Encoding)
http://www.cnblogs.com/shitouer/archive/2013/04/12/google-protocol-buffers-encoding.html1. 概述前三篇文章《Google Protocol Buffers 概述》《Google Protocol Buffers 入门》《Protocol Buffers 语法指南》 一步
2013-12-01 09:21:25 2052
原创 google probuf反射原理之源码分析
比如建立了一个test.proto生成了 test.pb.h和test.pb.cpp里面就会有 inline void protobuf_AssignDescriptorsOnce() { ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_, &protobu
2013-12-01 00:21:53 2340
Oracle8i_9i数据库基础
2011-12-21
FaceTracking
2011-11-20
Efficient region segmentation through ‘creep-and-merge’
2011-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人