- 博客(5)
- 收藏
- 关注
原创 SGI-STL一级空间配置器
SGI STL中一级空间配置器也是通过malloc()和free()来管理的,二级空间配置器通过freelist的方式进行管理。‘SGI STL默认使用二级空间配置器,主要是通过宏开关来决定使用哪种空间配置器:#ifndef __STL_DEFAULT_ALLOCATOR# ifdef __STL_USE_STD_ALLOCATORS# define __STL_DEFAULT_ALLOCATOR(T) allocator<T> //一级 malloc/free# else# d
2021-01-25 21:54:19 141
原创 C++ STL中式如何进行内存管理的
标准模板库中对于内存的申请与释放的设计是比较简单的,我们拿std::vector来讲: template<typename _Tp, typename _Alloc = std::allocator<_Tp> > class vector : protected _Vector_base<_Tp, _Alloc> { //... }除了元素的类型外,默认会有一个标准的容器空间配置器std::allocator,我们在使用的vect
2021-01-25 21:35:23 510
原创 由于远程tag变动等原因,导致本地tag和远程tag对应的commit id不一致
本地仓库的tag和远程仓库的tag信息对应不上,并且git pull之类的操作无法更新本地信息.git tag -l | xargs git tag -dgit fetch origin --prune
2021-01-25 21:11:28 665
原创 cmake中add_dependencies的基本作用
假设我们需要生成一个可执行文件,该文件生成需要链接a.so b.so c.so d.so四个动态库正常来讲,我们一把只需要以下两条指令即可:ADD_EXECUTABLE(main main.cpp)TARGET_LINK_LIBRARIES(main a.so b.so c.so d.so)但是编译的时候报错,一些符号的定义找不到,而这些符号恰恰就在这几个库中,假设在a.so 和 b.so中,在上述两条指令之间加上一条指令即可编译通过:ADD_DEPENDENCIES(main a.so b.s
2021-01-25 20:35:02 29951 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人