关于 list 迭代器的小技巧

自己写过list 的人都知道, list 中的 节点在删除的时候 只会影响相邻的节点, 也并不会影响指向相邻节点的指针使用。 std标准模板库 引入的迭代器提供了对 容器元素统一 的访问 遍历 模型。其中很多迭代器都只能是临时持有, 做完访问使用后就得析构掉。即便持有也无法保证下次使用时访问的正...

2015-01-30 17:44:04

阅读数 1539

评论数 0

简单实现linux下的循环进度条

最近做加载输出的时候遇到的一个需求, 要求像linux安装包程序那样显示进度, 既按百分比显示读条。 做个windows或者控制台程序的对这个需求都不陌生。 linux其实也不复杂。  需要注意2点 1 linux下的输出有缓存,如果需要回调的显示函数计数显示, 需要调用用下 fflush 2 循...

2014-12-26 10:10:47

阅读数 1453

评论数 0

Google Protocol Buffer 的使用和原理

最近在做移动平台协议的重构,搜到的这篇文章介绍得挺清楚的 http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/ 简介 什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍: Google ...

2014-11-30 12:08:49

阅读数 517

评论数 0

SSL/TLS协议详解

http://www.cnblogs.com/adforce/archive/2012/11/27/2790937.html

2014-10-22 16:32:46

阅读数 486

评论数 0

windows下的协程

协程coroutine的作用主要是 在用户管理并行逻辑间的切换, 不像线程thread那样, 交由系统控制运行下 需要 锁 唤醒 条件栅栏 这中同步方式组织协作。  协程可以让用户精确控制在某个时刻下运行那块逻辑, 因为相关联的协程都在一个thread里运行, 所以不需要考虑资源互斥的那些东西...

2014-09-23 14:27:11

阅读数 1574

评论数 0

写模板代码时需要注意头文件引入顺序

最近修改一处模板代码的时候遇到一个问题, 就是里面的全局接口buren

2014-08-25 15:36:26

阅读数 967

评论数 0

八个常用的并行设计模式

dddzz

2014-07-18 14:31:14

阅读数 1178

评论数 0

一个值得注意的const问题

注意检查下类似的代码:

2014-06-23 12:14:56

阅读数 550

评论数 0

游戏逻辑里常用的设计模式

1 工厂方法 游戏对象

2014-05-20 15:02:57

阅读数 1121

评论数 0

cpu处理结构浅谈

最近要换个cpu ,为了不被坑, 专门bu

2014-04-19 17:39:18

阅读数 599

评论数 0

MVC 框架下的中文乱码问题

最近在处理一个中文乱码问题时网上收罗了不少资料,虽然最终没能直接解决问题, 不过也提供了不少MVC模式下选择编码值得注意的地方 -----------------------------------------------------------------------------------...

2014-03-13 14:25:21

阅读数 5385

评论数 0

无需重编 修改程序的静态变量初始值

目前的具体应用环境就是要给发布版本的程序标记发布状态,程序经过发布工具 标记出当前的状态为  测试组版本 体验版 正式运营版 和 海外版 。 程序从研发部门出去以后理论上会通过不同部门之间的配合最后跑到正式运营的环境中,能可控的限制版本的使用对发布过程很有利。 一般发布以后想要在程序内部添加或修改...

2014-02-10 11:54:36

阅读数 1510

评论数 0

GDB 调试指令

1. 列出源程序 1.1 不带参数的list命令:   (gdb) list 或 l 1.2 带一个参数的list命令:(gdb) list 1.3 带两个参数的list命令:(gdb) list 参数line1为显示的起始行,line2为结束行 2. 运行程序命令:(...

2014-01-16 11:08:52

阅读数 806

评论数 0

如何定义 0 size 的 struct

假定定义一个文件结构时会有这种需求: 某个块的数据在当前版本是不存在的,但需要标记一下便于后期版本的扩展 (以下的数据都按 1 字节对齐) struct File { Head _h; SecHead _sh; Body _b; Tail _t; }; 而 SecHead 的结构暂时没用 会想这么...

2013-12-18 16:36:04

阅读数 625

评论数 0

C++在运行状态下修改替换函数逻辑

调试代码时非常期望有改动后直接生效的函数,保持当前的环境 不用程序终止运行 重新编译 这让人自然联想起脚本函数,运行时解析 这点特征使得其 在做到这点上游刃有余 但今天要说的不是用脚本来实现这点,虽然过程有点曲折但纯C++代码一样也能做到这点 介绍一下要用到的几个东西 1 系统API void...

2013-11-21 18:11:12

阅读数 1866

评论数 0

makefile 中常见变量及函数

常用变量 $(filter-out $(PHONY) $(wildcard $^),$^) 常用用法为$(wildcard *.c) 表示列举当前目录下的所有.c文件 这里$^因为会包含依赖的文件名,如果包含的该文件存在,那么将返回其含路径的文件名 所以$(wildcard $^)就是用来过滤$^...

2013-10-06 16:16:46

阅读数 667

评论数 0

自旋锁 互斥锁 读写锁 递归锁

这几个锁的概念各有交叉,容易混淆 互斥锁: 最常使用于线程同步的锁;标记用来保证在任一时刻,只能有一个线程访问该对象,同一线程多次加锁操作会造成死锁;临界区和互斥量都可用来实现此锁,通常情况下锁操作失败会将该线程睡眠等待锁释放时被唤醒 自旋锁: 同样用来标记只能有一个线程访问该对象,在同一线...

2013-09-18 18:06:45

阅读数 4466

评论数 0

MySQL与MongoDB复制群集分片设计及原理

分布式数据库能实现高安全、高性能、高可用等特征,当然也带来了高成本(固定成本及运营成本),我们通过MongoDB及MySQL Cluster从实现上来分析其中的设计思路,用以抽象我们在设计数据库时,可以引用的部分设计方法,应用于我们的生产系统。   首先说说关系及非关系数据库的特征:   My...

2013-08-24 18:09:13

阅读数 671

评论数 0

ACE_Recursive_Thread_Mutex 死锁bug

ACE_Recursive_Thread_Mutex 的设计目的是为了避免代码中某个线程自己递归对互斥体进行申请而变成死锁的情况 但通过对其介绍文章的阅读 (参考 10.6 ACE条件变量类) 发现实现上也可能会因为线程间的竞争ACE_Thread_Mutex 和 ACE_Condition_Th...

2013-07-02 20:35:54

阅读数 3374

评论数 0

Thread Specific Storage

最近有空翻看了一下ace的网络编程卷1 ,发现ACE在针对线程私有全局变量(TLS)  有更方便使用和移植的一套设计, 命名上稍有区别Thread Specific Storage(TSS) 在原有各OS TSS API的封装基础上 ,增加了使用上的方便 使用C++ 的 委托(delegatio...

2013-06-19 15:06:05

阅读数 648

评论数 0

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