一缕阳光的博客

在通向成功的道路上勇往直前

boost::split()的使用方式

引用的头文件 <boost/algorithm/string.hpp> boost::split()函数用于切割string字符串,将切割之后的字符串放到一个std::vector<std::string> ...

2018-12-11 16:21:03

阅读数:8

评论数:0

vector中的reserve() 与 resize()

resize()与reserve()都是vector容器中的方法: resize():改变了capacity()和size() reserve():增加了vector的capacity(),但是它的size()没有改变 #include <iostream&am...

2018-12-11 09:57:28

阅读数:19

评论数:0

gcc/g++编译器的优化

gcc/g++编译器的优化   gcc提供了从O0-O3以及Os这几种不同的优化级别供大家选择   O0是编译器默认的设置 (1)、-O1:它主要对代码的分支,常量以及表达式等进行优化   (2)、-O2:尝试更多的寄存器级的优化以及指令级的优化,它会在编译期间占用更多的内存和编译时间。 ...

2018-12-10 17:24:49

阅读数:26

评论数:0

Mysql数据库存储原理

转载:https://blog.csdn.net/weixin_40612082/article/details/82179714 现在在做数据库服务器的开发工作,今天被问到存储过程,当时只是简单地回答了下,在网上搜索了下资料,才对存储过程有了新的认识。转载内容如下: Mysql储存过程是一组...

2018-11-28 09:46:24

阅读数:30

评论数:0

gcc/g++ 编译时报错原因分析之expected type-specifier before

因为没有引入相应的头文件,找到对应的头文件,加入相应的cpp中即可解决。  

2018-11-16 20:35:53

阅读数:33

评论数:0

linux编译动态库之fPIC

转载:https://blog.csdn.net/sinc00/article/details/44833839 今天在用g++编译代码时,提示说.rdata错误,然后网上找了一堆资料,最后明白了一个要重新编译对应的链接库。 在生成动态库时,常常习惯性的加上fPIC选项,fPIC有什么作用和意...

2018-11-14 19:25:11

阅读数:99

评论数:0

gcc -O0 -O1 -O2 -O3 四级优化选项及每级分别做什么优化

今天看到了一篇文章,写的挺好就将其转载, https://blog.csdn.net/zhangzq86/article/details/80840927 Gcc 编译优化简介 gcc 提供了为了满足用户不同程度的的优化需要,提供了近百种优化选项,用来对{编译时间,目标文件长度,执行效率}这个...

2018-10-13 16:10:02

阅读数:45

评论数:0

map与unordered_map的区别

set/map底层实现的机制是红黑树。红黑树是一种近似于平衡的二叉查找树,默认是按升序排序的。在红黑树上做查找、插入、删除操作的时间复杂度为O(logN)。 红黑树的缺点:空间占用率高,每一个节点都需要额外保存父节点、孩子节点和红/黑性质,使得每一个节点都占用大量的空间。   std::un...

2018-10-12 12:17:44

阅读数:33

评论数:0

Xshell 6如何设置多个session显示在同一个窗口

刚才安装了Xshell 6之后,发现在同一个窗口只能显示4个session,网上查找了一些资料但是都不是想要的结果,经过几分钟的查找,终于找到了设置在同一个窗口session的个数,因此记录下来,或者给与他人帮助。以下以Xshell 6为例: 工具--->选项: ...

2018-10-11 10:17:54

阅读数:2065

评论数:0

linux编译动态库之-fPIC

在生成动态库时,常常习惯性的加上fPIC选项,fPIC有什么作用和意义,加不加有什么区别,这里做下小结: fPIC的全称是 Position Independent Code, 用于生成位置无关代码。什么是位置无关代码,个人理解是代码无绝对跳转,跳转都为相对跳转。 1、不加fPIC选项 即使...

2018-10-11 08:58:52

阅读数:70

评论数:0

c++并发编程之原子操作的实现原理

原子(atomic)本意是”不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为”不可被中断的一个或一系列操作”. 处理器如何实现原子操作 (1) 使用总线锁保证原子性 如果多个处理器同时对共享变量进行读写操作,那么共享变量就会被多个处理器同时进行操作,这样读写操...

2018-10-10 13:54:11

阅读数:38

评论数:0

codeblocks安装后提示找不到编译器

安装了自带编译器的codeblocks,但是打开后提示没有找到compiler,   经过几分钟的搜索,找了原因: 打开codeblocks,进入settings->compiler,选择如下: 然后,选择Toolchain executables,编译器选择...

2018-10-10 10:25:15

阅读数:193

评论数:0

string、char *、char []之间的相互转换

最近工作中遇到了string、char *、char []之间的相互转换,今天终于抽出时间将他们之间的转换记录下来,使用的是CodeBlocks软件,编译器为GNU GCC compiler,下面看代码: #include <iostream> #in...

2018-10-10 10:17:23

阅读数:43

评论数:0

boost学习之boost::shared_ptr

Boost智能指针——shared_ptr boost::scoped_ptr虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。顾名思义,boost::shared_ptr是可以共享所有权的智能指针,首先让我们通过一个例子看看它的...

2018-09-27 19:10:26

阅读数:30

评论数:0

gtest使用例子

最近使用gtest进行单元测试,采用打桩的形式。关于gtest的详细说明就不多说了,网上的资料一大堆。主要讲解使用时的参数如何配置以及遇到的问题。下面的例子模拟是加、减、乘、除四则运算,前提是不知道加、减、乘、除四则运算是如何实现的。 编译命令自己根据实际情况进行搭建 #include &am...

2018-09-11 10:31:24

阅读数:128

评论数:0

boost学习之boost::lock_guard<T>与boost::unique_lock<T>的区别

(1)、boost::lock_guard没有unlock()功能 boost::mutex mutex; void foo( ) {     boost::lock_guard&amp;lt;boost::mutex&amp;gt; lock(mutex);     p...

2018-09-11 09:39:03

阅读数:49

评论数:0

boost学习之boost::lock_guard源码分析

boost::lock_guard可以说是一种比boost::unique_lock轻量级的lock, 简单一些场景可以用它就行了。源码如下: template&amp;lt;typename Mutex&amp;gt; class lock_guard { private...

2018-09-11 09:28:34

阅读数:50

评论数:0

Linux Cpu 利用率计算

转载:http://blog.chinaunix.net/uid-20057401-id-1979033.html 前几天要写一个取得linux performance的函数。查询了一些资料。发现有几种计算cpu利用率的方法。但是都不怎么正确。最后查了以下top的源代码。现列出其计算cpu利用率...

2018-09-10 18:55:19

阅读数:78

评论数:0

__attribute__((always_inline))

__attribute__((always_inline))的意思是强制内联,所有加了__attribute__((always_inline))的函数再被调用时不会被编译成函数调用而是直接扩展到调用函数体内,例子如下: define inline __attribute((always_i...

2018-09-04 10:24:14

阅读数:61

评论数:0

将GDB中的输出定向到文件

将所有栈信息保存到文件11中          在gdb中:     set logging file 11          set logging on          thread apply all bt          set logging off          结束之后,在相...

2018-08-31 18:23:06

阅读数:41

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭