E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
sgi
SGI
-STL内存池实现及简单使用
这篇博客主要讲一下
SGI
-STL中的空间配置器的工作流程。我自己实现模仿STL实现了一个空间配置器,并且用两个容器list和vector测试使用了空间配置器。
Chengzi_comm
·
2016-08-15 12:26
STL
内存池
空间配置器
萃取
STL源码阅读(一)
SGI
分配器设计目标:-向systemheap申请空间-考虑多线程情况-考虑内存不足时应变措施-考虑过多的小型内存区域可能造成的内存碎片情况对于小型区域可能造
corfox_liu
·
2016-07-31 15:28
C/C++学习
STL算法之 copy、copy_backward、copy_n
copy:STL的
SGI
版本中的copy函数声明如下:templateinlineOutputIteratorcopy(InputIteratorfirst,InputIteratorlast,OutputIteratorresult
Chengzi_comm
·
2016-07-20 23:46
STL
算法
SGI
copy
copy-n
SGI
的内存管理
1.
SGI
中的内存管理在
SGI
中,其内存分配把这两步独立出了两个函数:allocate申请内存,construct调用构造函数,分别在2.构造和析构的工具在stl_construct.h中//第一个版本
charles1e
·
2016-07-10 11:00
内存管理
SGI
SGI
STL空间配置器-第二级空间配置器
相比第一级配置器,第二级配置器多了一些机制,避免小额区块造成内存的碎片。小额区块不仅仅是碎片的问题,配置时的额外负担也是一个大问题。因为区块越小,额外负担所占的比例就越大,就越显得浪费。额外负担是指动态分配内存块的时候,位于其头部的额外信息,包括记录内存块大小的信息以及内存保护区(判断是否越界),即索取任何一块内存时,都要得有一些“税”要交给系统。SGISTL第二级配置器具体实现思想如果要分配的区
mmshixing
·
2016-06-14 16:00
SGI
STL空间配置器-第一级空间配置器
二、
SGI
标准的空间配置器其实
SGI
也定义了一个符
mmshixing
·
2016-06-13 16:00
内存
【STL源码剖析】__type_traits技法
上篇介绍了__iterator_traits编程技法,
SGI
将这种技法进一步扩大到迭代器以外,于是有了所谓的__type_traits。
Jammg
·
2016-06-04 14:00
源码
C语言
STL
SGI
STL学习笔记--3、迭代器iterator与traits编程
//摘自
SGI
template InputIteratorfind(InputIte
chengyu779394084
·
2016-05-27 22:00
迭代器
iterator
STL
SGI
STL源码之内存配置
好长时间没有写博客了,最近一直忙于看STL源码和实验室其它事情。在骑行了12公里的情况下,终于停歇下来,静静地坐着,开始思考人生,思考STL是如何配置内存的。1、SGISTL在配置内存的时候主要考虑了以下几点:①向堆申请空间②考虑了多线程③考虑了内存碎片的问题④考虑了当内存不足时的应变策略在C++中申请堆内存使用的是new操作符,释放堆内存使用的是delete操作符,这两个操作符相当于C语言的ma
heart_love
·
2016-05-26 11:00
C++
内存分配
[STL] List 中sort为什么采用归并排序
这几天在看STL(
SGI
版本----侯捷),在看完第一章后有点懵,但还是很震撼,STL的设计理念确实很好,至于有多么好我们都懂,所以就不再评价了。
zr1076311296
·
2016-05-22 19:00
SGI
STL的rb_tree浅析
rb_tree是一种特殊的平衡二叉搜索树,但是其对平衡的要求比avl_tree低,avl_tree要求左右子树的高度差不能大于1,而rb_tree只要求从一个节点至树的尾端的任何路径的黑节点的个数相等rb_tree必须满足的规则:1.每个节点不是黑色就是红色;2.根节点必须为黑色;3.若节点为红色,则其子节点必须为黑色(红不连);4.任意节点至树尾端的任何路径的黑色节点的个数必须相等;总结一下,也
github_33736971
·
2016-05-08 21:00
红黑树
STL
二叉搜索树
SGI
RB-Tree
STL学习_stl_list.h_源码分析
stl_list.h中有几个函数自己觉得比较重要,transfer() merge() sort()#ifndef_
SGI
_STL_INTERNAL_LIST_H#define_
SGI
_STL_INTERNAL_LIST_H
xixihaha331
·
2016-05-08 20:00
2.
SGI
STL第二级空间配置器__default_alloc_template的chunk_alloc函数
SGISTL默认使用二级空间配置器,当需要配置的区块大于128bytes时SGISTL调用一级空间配置器,一级空间配置器的allocate函数直接使用malloc分配内存,deallocate函数直接使用free释放内存。当需要配置的区块小于128bytes时SGISTL调用二级空间配置器。 相比于一级空间配置器简单粗暴的内存使用方法,二级空间配置器对内存的使用显得精细很多
chengonghao
·
2016-05-08 17:00
STL_学习_vector容器源码解析
这里自己总结了自己对
SGI
的vector容器的操作原理的一点理解。
xixihaha331
·
2016-05-05 21:00
SGI
STL的序列式容器之vector浅析
vector和array的数据安排和操作方式比较相似,但是二者又有区别,区别就在于空间运用的灵活性array是静态空间,配置之后就不能更改,只能重新配置新的空间;vector是动态空间,加入元素时其内部会自行扩充空间区容纳新元素;vector不存在浪费内存和越界问题,随机访问比较快,但是头部插入和删除比较慢(要进行移动),尾部插入和删除较快;vector的迭代器类型:RabdomAccessIte
github_33736971
·
2016-05-05 10:00
vector
迭代器
STL
容器
SGI
《STL源码剖析》学习笔记-第2章 空间配置器
1、
SGI
特殊的空间配置器,std::allocSGISTL的配置器与众不同,也与标准规范不同,其名称是alloc而非allocator,而且不接受任何参数。
will130
·
2016-05-04 17:00
STL
空间配置器
空间配置器allocator
而容器一定要配置空间以置放资料,都要用到allocatorSGI标准的空间适配器std::allocator下面的代码,只是把C++的:::operatornew和::operatordelete做一层薄薄的包装,
SGI
zhangjian5021275
·
2016-05-04 11:00
STL
【STL】
SGI
STL私房菜:_type_traits
刚开始我们先了解一下全特化和偏特化的知识:模板有两种特化,偏特化和全特化。类模板有偏特化和全特化,而函数模板只有全特化。先看一下类模板:template classTest { public: Test(T1i,T2j):a(i),b(j){cout classTest { public: Test(inti,charj):a(i),b(j){cout classTest { public: Te
Always__
·
2016-05-03 12:00
C++
Class
STL
yum install lrzsz
1.yum自动安装:yuminstalllrzsz2.手动安装方法如下:2.1.下载软件rzsz-3.48.tar.gzwgethttp://freeware.
sgi
.com/source/rzsz/rzsz
lengyue1084
·
2016-04-29 21:33
linux笔记
STL学习_
SGI
二级空间配置器源码剖析
enum{__ALIGN=8};//最小申请的空间的大小enum{__MAX_BYTES=128};//能最大申请的空间的大小//
SGI
第二配置器有16个free_listsenum{__NFREELISTS
xixihaha331
·
2016-04-28 19:00
(2)参与ardupilot项目编程--git实践
uptoFedora21)$dnfinstallgit(Fedora22andlater)Gentoo$emerge--ask--verbosedev-vcs/gitArchLinux$pacman-
Sgi
Brian2018
·
2016-04-27 00:32
飞控apm学习笔记
计算机科学及编程
STL学习_
SGI
空间配置器_第一级配置器源码分析
这篇文章自己总结了下自己对于STL标准库中的
SGI
配置器的第一级配置器的源码分析,主要是想将自己上篇的理论知识具体化,#ifndef_STL_ALLOC1_H#define_STL_ALLOC1_
xixihaha331
·
2016-04-25 21:00
STL学习_
SGI
空间配置器
STL的六大组件:(1)容器:containers (2)算法:algorithms(3)迭代器:iterator(4)仿函数:functors (5)配接器:adapters(6)配置器:allocatorsSTL六大组件的交互关系:配置器是幕后奉献者,用来分配空间,算法通过迭代器来进行容器内容的存取等操作,仿函 数协作算法完成不同的策略的变化
xixihaha331
·
2016-04-25 18:00
SGI
STL 的 一,二级配置器浅析
补充知识:由于小型区块可能会造成内存破损,所以
SGI
设计了双层配置器,第一级配置器直接使用malloc()和free(),第二级配置器则根据配置区块的大小采用不同策略(若区块大小大于128bytes就调用一级配置器
github_33736971
·
2016-04-25 17:00
STL
SGI
SGI配置器
一级配置器
二级配置器
【STL】空间配置器剖析(二)
好的,话不多说马上进入是正文:对对象构造前的内存配置和对象析构后的空间释放,由负责,
SGI
对此的设计哲学如下:向systemheap要求空间。
Always__
·
2016-04-25 11:28
【小知识记录】
【深入C++】
【STL源码剖析】
[置顶] 【STL】空间配置器剖析(二)
好的,话不多说马上进入是正文:对对象构造前的内存配置和对象析构后的空间释放,由负责,
SGI
对此的设计哲学如下:向systemheap要求空间。
Always__
·
2016-04-25 11:00
【STL】空间配置器剖析(一)
SGI
标准的空间配置器是std::allocator。
SGI
从未使用过它,也不建议使用它,主要原因是效率不佳。
Always__
·
2016-04-23 12:58
【深入C++】
【STL源码剖析】
[置顶] 【STL】空间配置器剖析(一)
SGI
标准的空间配置器是std::allocator。
SGI
从未使用过它,也不建议使用它,主要原因是效率不佳。
Always__
·
2016-04-23 12:00
STL迭代器(二)
这是
SGI
STL迭代器学习的第二部分,上一部分我对整个STL迭代器做了一些学习,知道了什么叫迭代器,什么叫traits编程技术,算是对迭代器有了一个整体上的认识,那么在这一部分中,我想要深入一点
hujian_
·
2016-04-11 12:00
C++
迭代器
STL
SGI
《STL源码剖析》---stl_hashtable.h阅读笔记
hashtable的实现有线性探测、二次探测、二次散列等实现,
SGI
的STL是采用开链法(separatechaining)来实现的。大概原
ouyangjinbin
·
2016-04-10 10:00
SGI
特殊的空间配置器 std::alloc
SGI
对此设计哲学如下:a)向systemheap要求空间b)考虑多线程状态c)考虑内存不足时的应变措施d)考虑过多“小型区块”可能造成的内存碎片(fragment)问题C++的内存配置操作::operatornew
ouyangjinbin
·
2016-04-07 13:00
数据结构
C++
STL
STL空间配置器(三)
上一篇没写完的代码,因为我用的是VS2013所以无法测试我的配置器,我是照着
SGI
的版本写的,所以不符合STL标准规范,而VS随身带的STL是符合STL规范的,所以我无法测试,等到我自己写好了迭代器,容器之后
hujian_
·
2016-04-07 10:00
数据结构
C++
内存管理
STL
SGI
STL库的内存配置器(allocator)
具有次配置力的
SGI
空间配置器(
SGI
是STL的一种版本,也有其他的版本)这里我就不贴出来具体成员和接口的实现了,网上可以搜到STL的源码C++中,new一个变量可以分为两个阶段,1.分配空间2.调用构造函数
leno米雷
·
2016-04-06 11:00
Open Investor简介
OpenInventor 简介 简介OpenInventor(以下简称OIV)是
SGI
公司开发的基于OpenGL的面向对象三维图形软件开发包。
wang15061955806
·
2016-04-05 18:00
国际信息学奥林匹克竞赛(IOI)竞赛语言由三门变为五门
比赛规则中给的文档是:DocumentationforPascal,C,C++,STL.2013IOI比赛规则中给的文档是:DocumentationforC(manpages),theC++STL(
SGI
gsls200808
·
2016-04-03 17:17
随想
LINUX下使用XFS文件系统详解并挂载
LINUX下使用XFS文件系统详解并挂载XfS文件系统是
SGI
开发的高级日志文件系统,XFS极具伸缩性,非常健壮。所幸的是
SGI
将其移植到了Linux系统中。在linux环境下。
renIT87
·
2016-03-21 10:44
linux
文件系统
XFS
LINUX下使用XFS文件系统详解并挂载
LINUX下使用XFS文件系统详解并挂载XfS文件系统是
SGI
开发的高级日志文件系统,XFS极具伸缩性,非常健壮。所幸的是
SGI
将其移植到了Linux系统中。在linux环境下。
renIT87
·
2016-03-21 10:38
linux
文件系统
XFS
SGI
的特殊空间配置器
SGI
的空间配置器allocator只是简单的new和delete的一层包装,没有提供效率的强化。
RenewDo
·
2016-03-20 19:00
TOTOLINK N500UA Wi-Fi feature
Capabilities:0x2f2 HT20/HT40 StaticSMPowerSave RXGreenfield RXHT20
SGI
fickyou
·
2016-03-07 13:00
openGL与openGL ES 的区别
OpenGL与OpenGL-ES简介OpenGL是由
SGI
公司开发的一套3D图形软件接口标准,由于具有体系结构简单合理、使用方便、与操作平台无关等优点,OpenGL迅速成为一种3D图形接口的工业标准,并陆续在各种平台上得以实现
pizi0475
·
2016-01-29 17:58
OpenGL
ES
OpenGL
图形图像
其它文章
游戏引擎
图形引擎
xfs文件系统元数据损坏修复
XfS文件系统是
SGI
开发的高级日志文件系统,XFS极具伸缩性,非常健壮。关于其安装和使用和ext4都是一样,就是格式化不一样。其次是格式化都是一样的,它可以支持ext4单个文件超过16T的限制。
zsaisai
·
2016-01-29 14:37
文件系统
XFS
数据损坏
xfs文件系统元数据损坏修复
XfS文件系统是
SGI
开发的高级日志文件系统,XFS极具伸缩性,非常健壮。关于其安装和使用和ext4都是一样,就是格式化不一样。其次是格式化都是一样的,它可以支持ext4单个文件超过16T的限制。
zsaisai
·
2016-01-29 14:37
文件系统
xfs
数据损坏
linux运维
【STL】
SGI
空间配置器 Allocator
本篇将主要总结归纳《STL源码剖析》的空间配置器的相关STL实现。在此之前,我们也将总结归纳一些基本的C++知识和技法。一、C++基础知识--3种new的方式 在C++中,包含3种new形式,分别是 new/delete operatornew/operatordelete placementnew1.new,operatornew, delete,operatordelete
zone_programming
·
2016-01-25 19:00
C++
new
STL
allocator
常见文件系统:
常见文件系统:EXT4(Linux)/XFS(
SGI
)/JFS(IBM)/Btrfs(Oracle)/ZFS(SUN)/ReiserFS/HFS+(Apple)/NTFS(MS)/FAT32(MS)/exFAT
Genji_
·
2016-01-21 10:00
SGI
Allocator内存管理(二)
接上一篇博文继续讲。我们来看第二级配置器__default_alloc_template.先看它有哪些成员(代码参考自《STL源码剖析》):template class__default_alloc_template{ private: /*将bytes上调至__ALIGN(默认为8)的倍数*/ staticsize_tROUND_UP(size_tbytes){ return((bytes+__
u014557232
·
2016-01-13 12:00
SGI
Allocator内存管理(一)
最近啃了下侯大师的,受益匪浅,研究了下
SGI
空间配置器的源码,这里总结下它的空间管理策略。SGIAllocator要解决的空间分配问题如下:1.向系统堆(systemheap)要求空间。
u014557232
·
2016-01-11 20:00
ap6212 wifi mode & features
HT20 Static SM Power Save RX HT20
SGI
fickyou
·
2016-01-07 08:00
括号匹配,栈的基本应用;
(256users)Rating:SpecialJudge:NoDescriptionTherearesixkindsofbrackets:‘(‘,‘)’,‘[‘,‘]’,‘{’,‘}’.dccmx’
sgi
codeacm
·
2015-12-01 14:47
栈
标准C++中的STL容器类简介
标准C++中的STL容器类简介 - sabolasi - ITeye技术网站 标准C++中的STL容器类简介
SGI
-- Silicon Graphics
·
2015-11-13 22:28
C++
STL中的容器是如何实现的,如何存储的
使用这些容器需要包含#include <set> #include <map>
SGI
STL还提供了标准之外的以基于hash table
·
2015-11-13 20:53
STL
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他