
C/C++
文章平均质量分 56
Bob Liu
这个作者很懒,什么都没留下…
展开
-
使用c++filt工具demangle C++符号
demangle符号名在调试C++程序时, 经常会遇到未demangle的C++符号名, 不了解mangle的规则时, 并不太容易确定具体是哪个API. 比如, 使用objdump将boost日志动态库的符号表导出, 你是否能够很快辨别出对应的实际的函数名称.[jinguang1@centos7-dev ~]$ objdump -T /usr/lib/libboost_log.so/usr...原创 2019-10-25 22:38:19 · 3701 阅读 · 0 评论 -
CMakeLists.txt文本编辑工具
CMakeLists.txt是CMake的配置文件。notepad++支持CMake相关的语法,并提供自动提示,推荐使用它来编写CMakeLists.txt配置文件。原创 2018-02-11 22:24:04 · 2496 阅读 · 0 评论 -
BOOST应用 无法解析的外部符号 "void __cdecl boost::throw_exception(class std::exception const &)"
简介在Windows系统上,使用boost时发现未定义的外部符号的链接问题:thread_test_01.cpp.obj : error LNK2019: 无法解析的外部符号 "void __cdecl boost::throw_exception(class std::exception const &)" (?throw_exception@boost@@YAXAEBVexcept...原创 2018-03-15 22:48:16 · 7076 阅读 · 1 评论 -
Linux系统编程:mmap使用技巧
简介本文将介绍了mmap的基本概念,并重点介绍mmap使用中常遇到的问题。mmap是什么mmap函数把一个文件或一个Poxis共享内存区对象映射到调用进程的地址空间,以使用普通文件提供内存映射I/O,或使用特殊文件以提供匿名内存映射,或使用shm_open以提供无亲缘关系进程间的Posix共享内存区。使用内存映射文件所得到的奇妙特性是,所有的I/O都在内核的掩盖下完成,只需编写存取...原创 2018-07-28 22:05:21 · 3331 阅读 · 0 评论 -
LevelDB C++教程: 如何打开和关闭数据库
简介leveldb提供持久键值存储功能。键和值是任意字节数组。根据用户指定的比较函数,在键值存储区内对键进行排序。本文将介绍leveldb的打开和关闭数据的基本操作,为后面的键值存储操作做准备。代码示例下面的代码功能实现了完整的打开和关闭数据库的功能,下面会对代码来进行逐一讲解:#include <iostream>#include <cassert>#inc...原创 2018-12-13 22:15:53 · 1957 阅读 · 0 评论 -
LevelDB C++教程: Linux系统中安装snappy
snappy简介Snappy(以前称Zippy)是Google基于LZ77的思路用C++语言编写的快速数据压缩与解压程序库,并在2011年开源。它的目标并非最大压缩率或与其他压缩程序库的兼容性,而是非常高的速度和合理的压缩率。使用一个运行在64位模式下的酷睿i7处理器的单个核心,压缩速度250 MB/s,解压速度500 MB/s。压缩率比gzip低20-100%。Snappy广泛应用在Goog...原创 2018-12-10 13:17:06 · 2020 阅读 · 0 评论 -
Zookeeper C客户端库编译
简介wget https://github.com/apache/zookeeper/archive/release-3.4.13.tar.gzyum install cppunit-develant compile_juteant clean jar[root@centos7-dev c]# makemake all-ammake[1]: Entering directory `...原创 2019-02-13 19:40:33 · 6901 阅读 · 0 评论