-
[综合] C++中atomic 数据类型操作
所谓的原子操作,取的就是“原子是最小的、不可分割的最小个体”的意义,它表示在多个线程访问同一个全局资源的时候,能够确保所有其他的线程都不在同一时间内访问相同的资源。也就是他确保了在同一时刻只有唯一的线程对这个资源进行访问。这有点类似互斥对象对共享资源的访问的保护,但是原子操作更加接近底层,因而效率更...
35
热度 -
[综合] TBB之concurrent_hash_map
IntelTBB提供高并发的容器类,Windows或者Linux线程能使用这些容器类或者和基于task编程相结合(TBB)。 一个并发容器允许多线程同时对容器访问和更改条例,典型的C++STL容器类不允许并发更新,尝试并行更改他们引起恶化容器。STL容器能使用互斥锁来包装,目的让他们安全访问,通过只...
15
热度 -
[综合] std::thread的join和detach
C++中的thread对象通常来说表达了执行的线程(threadofexecution),这是一个OS或者平台的概念。 thread一旦创建,就开始执行,并且与创建它的线程有一定的关系。 thread创建后,需要在调用线程中需要指明是join还是detach,否则会发生错误。 1、当thread::...
80
热度 -
[综合] 计算机的快速 二进制运算
对一个数判断是否为2的幂 size&(size-1)true说明不是2的幂,false说明是2的幂。2的幂有一个特点,就是只有一个1,其他都是0.而2的幂-1就会除了高位和它本身那位为0,其他的都为1. k对size取模运算(取余运算)都可以转为k跟size做与运算。 kfifo->i...
77
热度 -
[综合] C/C++ time处理及其相互转换
C的时间 time_point 时间单位默认是秒,绝对时间获取的时间点都是相对新纪元。相关概念: 新纪元:1970年1月1日00:00:00UTC(GMT) #include<time.h>typedeflongtime_t//时间点,秒单位time_ttime(time_t*t)//返...
32
热度 -
[综合] gcc/g++编译的那点事
用多了IDE,有时候总是会忘记编译的命令,特此记录下来 gcc gcc-ohellohello.c-I/home/hello/include-L/home/hello/lib-lword -I是头文件目录 -L是.c/.cpp/.so等目录 -l是库名,上面的lword对应libword.so,表示...
101
热度 -
[综合] GDB 项目调试 常用
某一项目下代码文件的打断点 s步进,进入函数 n下一步 c继续 bxxx.cpp:行号 查看断点信息 infobreakpoints infobreak ptype变量 清除所有断点 clear 查看断点上下文信息 list 查看变量 p变量 delete#删除所有breakpoints,...
67
热度 -
[综合] C++细节1:无符号扩展和符号扩展
针对无符号整型和有符号整型 int最高位是0的话,全部补充为0。最高位是1的话,全部补充为1 unsigned由低位扩展到高位全部补充为0 sprintf(s,fmt,...) 例如 shortsi=-1; sprintf(s,"%08X",si); 会进行符号扩展,产生FFFFFFFF sprin...
30
热度 -
48
热度 -
108
热度 -
89
热度 -
[综合] 深入理解c格式化输出
格式化输出考察了不仅考察各种数据类型的转换以及你对内存的理解 首先,要很清楚各个不同数据类型的大小,这个是面向对象的基础 #include<stdio.h>printf("sizeofint:\t\t[%d]\n",sizeof(int)); printf("sizeoflong:\t\...
15
热度 -
[综合] C++ 未初始化的类成员变量
未初始化的类成员变量 在gcc4.8.5版本 如果还有未初始化的类成员变量,其值不确定 #include<iostream>classT{public:T(){}floattt;intit; };intmain(){floatff;cout<<ff<<endl;...
73
热度 -
96
热度 -
55
热度 -
84
热度 -
76
热度 -
22
热度 -
88
热度 -
27
热度