岚天逸见

随笔分类 -  C/C++

上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页

pthread_rwlock_rdlock和“No such file or directory”
摘要:pthread_rwlock_rdlock和“No such file or directory”调用pthread_rwlock_rdlock时,如果失败报错“pthread_rwlock_rdlock”,则可能是因为对同一把锁先加了写锁,再加读锁时就报这个错误了。... 阅读全文

posted @ 2015-09-15 17:38 岚天逸见 阅读(341) 评论(0) 推荐(0) 编辑

Thrift结构分析及增加取客户端IP功能实现
摘要:目录目录 11. 前言 12. 示例Service 13. 网络部分类图 24. 线程模式 34.1. IO线程 34.2. 工作线程 44.2.1. 工作线程类图 44.2.2. 工作线程启动过程 55. 一个RPC函数被调用时序图 55.1. 启动准备 55.2.... 阅读全文

posted @ 2015-09-07 09:55 岚天逸见 阅读(1335) 评论(0) 推荐(0) 编辑

检测Linux系统是否支持某系统调用
摘要:随内核版本的变化,会增加一些新的系统调用,但如果glibc没有跟上,则不能直接调用,这个时候可以自己包装一下。如果想知道内核是否支持某系统调用,先得知道它的系统调用ID号,下面代码即是用来检查是否支持epoll_create1:// 文件名: x.cpp// 编译: ... 阅读全文

posted @ 2015-09-07 09:48 岚天逸见 阅读(394) 评论(0) 推荐(0) 编辑

常见gcc编译问题解决方法集
摘要:除非明确说明,本文内容仅针对x86/x86_64的Linux开发环境,有朋友说baidu不到,开个贴记录一下(加粗字体是关键词):用“-Wl,-Bstatic”指定链接静态库,使用“-Wl,-Bdynamic”指定链接共享库,使用示例:-Wl,-Bstatic -lm... 阅读全文

posted @ 2015-08-28 10:08 岚天逸见 阅读(6538) 评论(0) 推荐(0) 编辑

Thrift编译错误('::malloc' has not been declared)
摘要:问题版本:0.9.0make[4]: Entering directory `/tmp/X/thrift-0.9.0/lib/cpp'/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG... 阅读全文

posted @ 2015-08-21 19:00 岚天逸见 阅读(1038) 评论(0) 推荐(0) 编辑

常见指针定义解读
摘要:最近做的C/C++技术面试比较多,发现了一些共同的问题,对于如下所示的指针认识,多数面试者都答错了,作为过来人,这种情况还可以理解的,放在一起确实有些复杂。int *p;int *p[8];int (*p)[8];int (*p)();为了能朴素的理解,加上注释说明,... 阅读全文

posted @ 2014-07-08 15:50 岚天逸见 阅读(186) 评论(0) 推荐(0) 编辑

可epoll队列
摘要:什么是可epoll队列?就可以使用epoll来监控队列中是否有数据的队列,当然也支持select和poll。应用场景一个线程,需要将队列(共享内存队列或普通队列均可)中的数据取出来,然后通过网络发送出去。如果没有可epoll队列,这个问题处理起来就比较麻烦。代码实现实... 阅读全文

posted @ 2014-07-03 09:55 岚天逸见 阅读(349) 评论(0) 推荐(0) 编辑

快速上手,协程剖析
摘要:协程也叫微线程,英文名称为coroutine。一个进程可以有多个线程,一个线程可以有多个协程,这是协程和线程间的关系。不同的是,线程由系统调度,但协程需要自己调度,协程运行在用户态。Linux内核为协程编程提供了支持,相关的函数声明在ucontext.h头文件中。也可... 阅读全文

posted @ 2014-07-01 18:03 岚天逸见 阅读(158) 评论(0) 推荐(0) 编辑

获取cpu频率的代码
摘要:taskset是linux自带的一个命令,可用来将进程绑定到指定CPU相关的函数有: sched_setaffinity, CPU_CLR, CPU_ISSET, CPU_SET, CPU_ZERO// cpufreq库可在/usr/lib目录下找到// 编译: g+... 阅读全文

posted @ 2014-06-20 13:01 岚天逸见 阅读(695) 评论(0) 推荐(0) 编辑

C++11中的tuple应用:让函数返回多个值
摘要:在没有tuple之前,如果函数需要返回多个值,则必须定义一个结构体,有了C++11,可以基于tuple直接做了,下面是个示例:// 编译:g++ -std=c++11 -g -o x x.cpp#include // tuple头文件#include #includ... 阅读全文

posted @ 2014-05-30 15:34 岚天逸见 阅读(2565) 评论(0) 推荐(0) 编辑

C++11中的to_string
摘要:C++11之前,标准库没有提供数字类型转字符串的函数,需要借助sprintf、stringstream等,现在C++11提供了std::to_string函数,可以直接使用了:点击(此处)折叠或打开string to_string (int val);string t... 阅读全文

posted @ 2014-05-30 14:17 岚天逸见 阅读(676) 评论(0) 推荐(0) 编辑

Cuckoo Hash和多级Hash的粗浅认识
摘要:通过对Cuckoo Hash、多级Hash和BloomFilter的粗浅了解,感觉它们三者存在类似之处,算是近亲(暂且把普通的Hash称作远亲)。 Cuckoo Hash的思想非常简单,冲突时,重Hash,也就是为Key重新找个新的位置。显然,极端情况下,需要反反复... 阅读全文

posted @ 2014-05-20 16:58 岚天逸见 阅读(405) 评论(0) 推荐(0) 编辑

C++11之Lambda特性探析
摘要:目录目录 11. 什么是Lambda? 12. 语法格式 12.1. 语法格式 12.2. 最简定义 23. 应用示例 24. capture列表 34.1. 基本形式 34.2. 注意事项 35. 对比仿函数 36. 对比函数指针 47. Lamdba和STL 48... 阅读全文

posted @ 2014-05-16 14:54 岚天逸见 阅读(204) 评论(0) 推荐(0) 编辑

使用#include消除重复代码
摘要:消除重复代码代码很多种,比如:1)提炼成函数复用2)使用宏3)继承4)使用闭包(boost::bind、boost::function) 上述是最为常用的,对于C++程序,闭包可能用得相对少一点。下列代码使用的是第5种:利用#include消除重复代码:void f1... 阅读全文

posted @ 2014-05-12 17:48 岚天逸见 阅读(361) 评论(0) 推荐(0) 编辑

boost::bind和boost::function使用示例
摘要:C++11已支持bind和function,之前的不支持,但可以借助boost达到同样目的。看如下两段代码: 1) 创建HDFS目录void hdfs::init(){ if (0 == hdfsExists(fs, data_dirpath.c_str()))... 阅读全文

posted @ 2014-05-08 13:07 岚天逸见 阅读(227) 评论(0) 推荐(0) 编辑

“undefined reference to JNI_GetCreatedJavaVM”和“File format not recognized”错误原因分析
摘要:“undefined reference to JNI_GetCreatedJavaVM”和“File format not recognized”错误原因分析如果编译时,报如下所示错误:../../third-party/hadoop/lib/libhdfs.a(j... 阅读全文

posted @ 2014-05-06 16:16 岚天逸见 阅读(550) 评论(0) 推荐(0) 编辑

支持stl容器的gdb自定义命令
摘要:# 本文可以从https://sourceware.org/ml/gdb/2008-02/msg00064/stl-views.gdb直接下载# 有关gdb的高级使用,请浏览:http://blog.csdn.net/Aquester/article/details/... 阅读全文

posted @ 2014-05-02 18:56 岚天逸见 阅读(401) 评论(0) 推荐(0) 编辑

Linux上获取CPU Core个数的实现
摘要:Linux上获取CPU Core个数的实现 可以通过多种手段取得CPU Core的个数,如:1) 调用系统提供的函数get_nprocs(),可以在头文件sys/sysinfo.h中发现它2) 借助系统提供的sysconf()函数:sysconf(_SC_NPROCE... 阅读全文

posted @ 2014-05-02 16:39 岚天逸见 阅读(834) 评论(0) 推荐(0) 编辑

将std::string当字节流使
摘要:string是C++标准定义的字符串类,它不但支持文本,而且支持二进制字节流。给一个string变量赋值有多种方法:1) 拷贝构造函数2) 等号赋值函数3) append成员函数4) push_back成员函数5) insert成员函数 请运行下段代码,并查看它的输出... 阅读全文

posted @ 2014-05-02 10:42 岚天逸见 阅读(892) 评论(0) 推荐(0) 编辑

O_DIRECT方式读取文件示例
摘要:#include #include #include #include #include #include #include #include #include // 读文件类class CFileReader{public: CFileReader() : _bu... 阅读全文

posted @ 2014-04-28 14:12 岚天逸见 阅读(769) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页

导航

统计信息

点击右上角即可分享
微信分享提示