自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (4)
  • 收藏
  • 关注

原创 lkx语言的总体设计已经发布到github上 (https://github.com/lichuan/lkx)

lkx语言的总体设计

2023-09-03 19:02:37 1103

原创 准备设计一门新的编程语言lkx

类似lua的简洁,但要比lua更规范,更清晰,更方便与c语言互访问,重点支持linux后端,因为lkx语言的目标,就是主要用于后端c/c++的集成。用女儿的名字首字母命名,希望早日呈现给大家。

2023-07-12 18:05:59 234 2

原创 基于c++11新标准开发一个支持多线程高并发的网络库

背景        新的c++11标准出后,c++语法得到了很多的扩展,比起以往任何时候都要灵活和高效,提高了程序编码的效率,为软件开发人员节省了不少的时间。 之前我也写过基于ACE的网络服务器框架,但ACE毕竟有些臃肿,内部对象关系错综复杂,容易给人造成只见树木不见森林的错觉。 所以打算用c++11开发一个较为简洁,高效,支持高并发的网络库。开源        花了两三周,终

2015-07-09 17:39:41 5343 1

原创 基于ACE设计一个c++网络游戏服务器框架引擎

利用闲暇时间,我正在开发一个网络游戏服务器引擎,取名叫gabriel, 代表圣经里的一个天使,中文名叫加百列。加百列在圣经中是一个大天使长,他负责将上 帝的话语带到世间,并晓谕诸位先知,帮助世人明白上帝的旨意。之所以取这个名字,一方面是向大家推荐《圣经》这本宝书(也算是传福音吧),另一方面也希望这个框架引擎能够起到抛砖引玉的作用,引起同行或是打算从事游戏服务器端开发的朋友的共同探讨,以求共同进步。

2014-01-13 15:00:14 4359 3

原创 c++组合对象管理

有一些业务逻辑,需要管理多个同样类型的对象,并对外提供查询,删除等接口,在这些场合中,可以将被管理的对象称为Entity,管理Entity的类自然就叫做Entity_Manager,当以这样的方式组织层级对象时,很直观,而且项目的风格统一,每个人一旦熟悉了这种方式,理解别人写的Entity_Manager就很轻松。根据以往的项目经验,我自己实现了Entity和Entity_Manager类,代码如

2013-09-17 13:38:32 1634

原创 用ruby语言编写将c++对象导入到lua脚本的解析器

最近学习ruby语言后,顿时就喜欢上了ruby语言,它的简洁,优美,灵活给我留下了深刻的印象。 之前一直从事游戏服务器研发相关工作,而核心语言是c++和lua, c++是一门编译型语言,所以运行效率非常高,但缺点是每次代码的一个小改动都得重新编译,这大大增加了项目的开发时间,也不适合需求多变的业务环境,而lua脚本语言正好能解决这种矛盾。 所以, 可以将那些需求多变的业务放在脚本中来执行, c

2013-08-14 20:10:06 1825 2

原创 scons构建系统

scons采用python语言作为其构建语言,因此非常强大灵活,举例如下:SetOption("random", 1)env = Environment(MSVC_VERSION="9.0", CXXFLAGS=["/EHsc", "/MD", "/Zi"], WINDOWS_EMBED_MANIFEST="1", CPPDEFINES=["NDEBUG"])COMMON_LIBS = [

2012-06-08 13:43:03 1090

原创 用python正则表达式转换php数组到javascript字典

代码如下:#coding=utf-8"""将php数组的省市表,转换成js的字典, 并打印出来,如下面的形式:#provinceDict["四川省"] = ["南充市", "成都市"];#provinceDict["浙江省"] = ["杭州市", "嘉兴"];......这个例子主要是练习正则表达式......"""__author__ = 'lc'import r

2012-06-05 17:39:41 5452

原创 用python遍历目录下文件(包括子目录)

#coding=gbk"""实现服务器资源data文本文件加密"""__author__ = 'lc'import osimport sysimport tracebackENCRYPT_DIR = "path"PASSWORD = [0x88, 0x04, 0xfe, 0xef, 0xaa]def check_arg(): if len(sys.argv) !

2012-06-02 15:54:44 1116

原创 用python遍历目录下文件(不包括子目录)

#!/usr/bin/env python#coding=gbk__author__ = 'lc'import MySQLdbimport globimport osimport sysDB_HOST = "localhost"DB_USER = "root"DB_PWD = "root"DB_DATABASE = "database"CHARVAR_PATH = "di

2012-06-02 15:51:13 3747

原创 gbk转换到utf8

std::string gb2utf8(const std::string strGBK){ const char *str = strGBK.c_str(); const unsigned int CP_GBK = 936; int len = MultiByteToWideChar(CP_GBK, 0, str, -1, NULL, 0); wchar_t* buf1 = new

2012-04-14 16:58:50 630

原创 判断是否是常规的gb2312的编码(不包括空白段),检测特殊符号。

//判断是否为常规gb2312编码区间static bool isValidStr(std::string data){ if(data.empty()) { return false; } std::string invalidStr = ", . ? /   *:'\"<>|\\;"; if(data.find_first_of(invalidStr) != std:

2012-04-05 21:50:38 1241

原创 epoll的EPOLLLT模式和EPOLLET模式比较

epoll是linux系统最新的处理多连接的高效率模型, 工作在两种方式下, EPOLLLT方式和EPOLLET方式。EPOLLLT是系统默认, 工作在这种方式下, 程序员不易出问题, 在接收数据时,只要socket输入缓存有数据,都能够获得EPOLLIN的持续通知, 同样在发送数据时, 只要发送缓存够用, 都会有持续不间断的EPOLLOUT通知。而对于EPOLLET是另外

2012-02-08 17:55:08 9199 1

c++代码规范

自己编写的c++代码规范, pdf格式, 欢迎下载

2013-08-03

深度探索c++对象模型(inside the c++ object model) pdf格式

如果你想在c++领域成为真正的高手的话,这本书你非看不可!! 因为它介绍了系统底层如何把c++高级抽象概念实现出来,这本书的作者,就是和c++的创立者当初共事于贝尔实验室的c++二号人物,可想而知,这本书会带给你怎样的震撼!!!!!!! 赶快下载吧,pdf格式的,超清晰..

2009-11-29

beginning linux programming 第三版(英文原版)

该书特别适合想在linux领域发展的人,全面,系统地介绍了linux的各个方面,是不可多得的好书,而且超清晰。。。。。。

2008-11-28

空空如也

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

TA关注的人

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