C++11 & STL源码 & cmake
文章平均质量分 70
本专栏主要介绍CLion的使用以及好的C++代码分析。
FishBear_move_on
github 地址 https://github.com/Jayhello
展开
-
c++11 线程池实现以及示例
线程池的使用在工作中非常普遍,对于java,python而言线程池使用还是比较方便。去年年底由于工作需要,用c++搭建一套工程代码,需要使用线程池,但是C++中并没有现有的线程池,为了快速开发,以及代码的稳定还是google在github上面找到了一个不错的C++11实现的版本,然后做了一点修改(兼容服务器gcc4.7)。通过这一个线程池的实现,收获如下:1. 更加深入的理解了线程池2. 熟悉原创 2018-03-22 21:00:41 · 2797 阅读 · 1 评论 -
CMake 教程一
本文主要内容如下:使用cmake将单个C++文件,编译为可执行文件对比cmake 编译为DEBUG版本和RELEASE版本的区别 (文件的执行效率,以及文件大小)1. c++ 执行1亿次count,然后输出count结果, 以及耗时毫秒数主要代码如下:std::cout << "Hello, World!" <<原创 2018-05-21 21:00:12 · 1714 阅读 · 0 评论 -
cmake教程二,变量以及flow control
本文主要内容如下:cmake中variable以及nested variable的使用flow control (if foreach)的基本使用1 cmake中variable以及nested variable的使用主要的命令: cmake -p CMakeLists.txt, 其中-p主要是运行cmake不生成cmake中间文件。1.1 cmake中variabl...原创 2018-05-21 21:14:22 · 1173 阅读 · 0 评论 -
CMake示例教程三
本文主要内容如下:1. 使用CMake将多个文件编译为可执行文件(包括cmake普通的set变量, file、aux_source_directory获取文件名三种方法)。2. 多目录cmake使用。3. 使用cmake生成静态,动态lib,以及lib和头文件的安装,以及安装到指定路径;lib版本的生成;如何卸载(实际上是删除)cmake安装的lib以及头文件。...原创 2018-05-22 21:19:35 · 1499 阅读 · 2 评论 -
cmake教程4(find_package使用)
本文主要内容如下:1. cmake find_package的基本原理2. 如何编写自己的 cmake module模块3. 使用cmake find_package 使用不同版本的opencv lib问题(opencv 安装在指定的目录,不是系统的目录)1. cmake find_package的基本原理当编译一个需要使用第三方库的软件时,我们需要知道:...原创 2018-06-03 19:34:31 · 66783 阅读 · 2 评论 -
C++ STL空间配置源码分析以及实现一
本文主要内容如下:1. STL为什么需要空间配置器2. STL空间配置器实现的原理3. STL空间配置器简单的测试前言很久以前看过侯捷先生的STL源码分析一书,也大致明白了STL实现的原理,但是对于编程而言,如果自己不去实现代码,调试代码,光看书,其实很难深刻的理解STL源码的逻辑(光是看书顶多也就是了解的水平,当然这是对于一般的程序员而言)。前段时间决定实现一...原创 2018-06-03 20:49:19 · 1773 阅读 · 1 评论 -
C++ STL空间配置源码分析以及实现二
本文主要内容如下:1. 在上篇文章的基础上,通过实现简单的vector来说明空间配置对容器的作用。2. c++中在已经分配好的内存上面构造对象(调用对象的构造函数),一般C++中new object会同时分配内存调用对象的构造函数。但是容器是在空间配置器已经分配好的内存上面直接构建对象(等价于调用对象的构造函数)3. C++11判断类型是否是pod(std::is_po...原创 2018-06-04 21:14:32 · 1515 阅读 · 0 评论 -
C++ STL源码实现以及分析之vector
本文主要内容如下:1. 前篇blogC++ STL空间配置源码分析以及实现二介绍了空间配置器allocator以及vector构造、析构函数的基本实现。2. 此篇blog主要通过一下几个方面,说明vector的实现原理vector的move构造函数的定义vector 的 erase clear pop_back 三个函数,以及size_t与 ptrdiff_t的区别ve...原创 2018-06-09 20:03:23 · 7132 阅读 · 1 评论 -
ubuntu/win10 CLion 使用
本文主要介绍ubuntu/win下CLion,CMakeLists.txt基本使用。 工作中最开始使用python的时候觉得这个IDE特别好用, 后来使用 java的时候使用的IDEA也非常方便,这两个IDE都是JetBrain开发的。两三年前开发C++的时候使用的是VS2010感觉VS过于笨重后面的VS2013/2015体验也不是很好。发现了JetBrain开发的C++编辑器CLion果断试了原创 2017-09-02 19:53:16 · 3015 阅读 · 0 评论