
C/C++
hiyancy
small program program the world!
展开
-
C++11 线程 锁 小例子
C++11 线程 锁 小例子#include <stdio.h>#include <mutex>#include <memory>#include <thread>#include <chrono>inline void lock(std::mutex* pm){ pm->lock();}inline void unlock(std::mutex* pm){ pm->原创 2017-08-15 11:36:28 · 344 阅读 · 0 评论 -
C++ StringBuilder 简易实现,多个对象共享同一内存
#pragma once#include <string.h>#include <stdlib.h>#include <string>class StringBuilder{public: const static int kDefaultSize = 64;public: StringBuilder() { init(); } Str原创 2017-08-24 14:58:06 · 808 阅读 · 0 评论 -
opencv_highgui2410.lib(window_w32.obj) : error LNK2001: 无法解析的外部符号
VS2010, 添加opencv静态库时,出现如下问题:opencv_highgui2410.lib(window_w32.obj) : error LNK2001: 无法解析的外部符号 __imp__CreateToolbarEx@52解决方案如下:项目-属性-链接器-输入-附加依赖项,添加 vfw32.lib; comctl32.lib即可解决原创 2015-01-12 10:19:38 · 3996 阅读 · 0 评论 -
SkipList时间复杂度分析O(log n)
SkipList作者: William Pugh论文: skiplists.pdf维基百科: Skip listSkipList,缘起leveldb源码,一见钟情。它是如此的简单,高效。又名跳跃表, 动态结构图如下(来自维基百科)。 图1SkipList由多层级单向有序链表组成。搜索,插入,删除的平均复杂度是O(logn)。so amazing! 接下来我们通过Pugh的论文一起来分析学习翻译 2017-09-29 09:14:46 · 6469 阅读 · 0 评论 -
开源协议 BSD Apache GPL LGPL MIT
转载来源开发人员必知的5种开源协议(BSD,Apache,GPL,LGPL,MIT)什么是软件许可协议?通俗来讲,许可协议是指用来授权其他人具有某种使用你的作品的权利。依靠许可协议将你的作品对外开源或者对你的作品的各个方面逐一进行授权,是一个不错的方法(WordPress, Drupal 和许多其它的内容管理系统都是开源软件)。一旦对外开转载 2017-10-10 09:23:51 · 424 阅读 · 0 评论 -
谨慎使用多线程中的fork
来源:http://www.cnblogs.com/liyuan989/p/4279210.html前言在单核时代,大家所编写的程序都是单进程/单线程程序。随着计算机硬件技术的发展,进入了多核时代后,为了降低响应时间,重复充分利用多核cpu的资源,使用多进程编程的手段逐渐被人们接受和掌握。然而因为创建一个进程代价比较大,多线程编程的手段也就逐渐被人们认可和喜爱了。记得在我刚转载 2017-10-16 10:56:55 · 251 阅读 · 0 评论 -
gdb 调试子进程
调试指令如下:gdb ./forkset follow-fork-mode childset detach-on-fork offb fork.cpp:13r打断点可以打到fork的位置,这样就可以进入到子进程调试原创 2017-10-16 15:33:08 · 6721 阅读 · 0 评论 -
Linux系统调用列表
转载: https://www.ibm.com/developerworks/cn/linux/kernel/syscall/part1/appendix.html以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数。这可能是你在互联网上所能看到的唯一一篇中文注释的Linux系统调用列表,即使是简单的字母序英文列表,能做到这么完全也是很罕见的。按照转载 2017-10-17 09:29:47 · 390 阅读 · 1 评论