今年准备安安心心写一个协程库。一方面是觉得协程挺有意思,另一方面也是因为C/C++在这方面没有一个非常权威的解决方案。 按照我自己风格还是喜欢

回顾一下2013年学习和看到的技术、思路、方案总结: Native Code 型语言 C/C++ 《ptmalloc,tcmalloc和jemalloc内存分配策略研究》 – L

C++11标准里有动态模板参数已经是众所周知的事儿了。但是当时还有个主流编译器还不支持。 但是现在,主要的编译器。VC(Windows),GC

前几天我们项目的日志系统出现了一点问题,但是一直没有时间去深究。 昨天在同事的帮助下,无意中猜了一种可能性,结果还真被我猜中了,于是今天就特别

用过std和boost的function对象和bind函数的童鞋们都知道这玩意用起来腰不酸了,腿不疼了,心情也舒畅了。先上一个简单得示例: std::string

项目里面引入了Lua,就特别学习了一下。 其实对于理解Javascipt的人来说,Lua也很容易理解,因为他们太多的地方相像了。 初步看来,Lu

接上一篇 VC和GCC内成员函数指针实现的研究(二) 虚继承 终于到最后的虚继承了。 测试代码如下: #include <ctime> #include <vector> #include <algorithm> #include <cstdio> #include <stdint.h> #include <cstddef> #include <string> class foo_a { public: virtual ~foo_a(){} virtual void info() {

接上一篇 VC和GCC内成员函数指针实现的研究(一) 接下来是多重继承,用到的测试代码如下所示: #include <ctime> #include <vector> #include <algorithm> #include <cstdio> #include <stdint.h> #include <cstddef> #include <string> class foo_a { public: virtual ~foo_a(){} virtual void info() {

今天看到一个小例子,发现了一个小trick。见代码: #include <cstdio> #include <cstdlib> class base_1 { public: int a; }; class base_2 { public: int b; }; class base_3: public base_1, public base_2 { public: int c; }; int main(int argc, char* argv[]) { printf("&base_1::a = %p\n", &base_1::a); printf("&base_2::b = %p\n", &base_2::b); printf("&base_3::a

今天心情好,刷了两到ACM水题,思路很简单都在注释里,所以直接贴代码: /** * @file 龟兔赛跑.cpp * @brief 龟兔赛跑 AC代码 (DP) * DP方程式: [到第i的充

最近看了点typescript的东西,加上以前看过的一点点Node.js,所以就想把他们系统地整理一下。 Javascript 这玩意搞过Web开发的应该都知道吧

写这个小结主要是因为之前研究Boost.Asio的时候,其内部使用了很多不同的方法来实现异步网络编程 然后就顺便把一些高级的玩意看了一下,也顺

慢慢一点一点看看Boost,这段时间就Asio库吧。 据说这货和libevent的效率差不多,但是Boost的平台兼容性,你懂得。还有它帮忙干

心情大好,给VPS升级了一下系统,然后自己配了LNMP安装脚本,用yum源安装的话更新比较方便点哈 ​​这个过程挺麻烦啊,所以果断要记下来,以

最近研究了一下ARM的交叉编译环境搭建,太麻烦了必须作一下记录啊。 前两个方法比较简单一点,关键是淫家Google帮你弄好了大部分功能 方案一:

Linux 编译安装 GCC 4.8 详见: Linux 编译安装 GCC 4.8 GCC4.8发布啦,这个脚本在之前4.7的基础上做了点改进,移除一些过时的组件,增加了检测不到时自动下载源