[TOC] 最近使用到了wchar_t类型,所以准备详细探究下,没想到水还挺深,网上的资料大多都是复制粘贴,只有个结论,也没个验证过程。本文记录探究的过程及结论,如有不对请指正。 Unicode、UCS UCS(Universal Character Set)本质上就是一个字符集。 Unicode的 ...
分类:
其他好文 时间:
2019-07-08 13:31:20
阅读次数:
145
在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用—— 就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以写下这篇文章作为一个对知识 ...
分类:
其他好文 时间:
2019-07-08 00:08:01
阅读次数:
97
对于malloc和free对内存堆栈块的空间操作,在keilMDK中需要满足下面几个条件: 1、使用的代码文件中需要包含头文件 <stdlib.h> 2、在工程的属性设置中需要把 Use MicroLIB 选项勾选,如下图。 3、这时候原则上就可以使用空间申请和释放的两个操作函数了,但是由于STM3 ...
分类:
其他好文 时间:
2019-07-06 09:20:10
阅读次数:
146
本文同步发布在CSDN:https://blog.csdn.net/weixin_44385565/article/details/94588321 归并排序的基本操作是将两个有序数组合并成一个有序数组,原理是运用分治思想,递归地将一个数组的左右两部分有序数列进行归并。 C语言实现: ...
分类:
编程语言 时间:
2019-07-03 19:52:49
阅读次数:
123
简介: 在C中使用函数malloc和free动态分配内存和释放动态分配的内存,C++使用运算符new和delete来执行一样的操作,但在C++中仍然保存的malloc和free 应用: 多维数组的使用可以采用vector来解决:https://www.csdn.net/gather_27/MtzaU ...
分类:
编程语言 时间:
2019-07-01 14:04:09
阅读次数:
97
[TOC] 变量 变量定义 作用域 可变类型和不可变类型 is和==区别 引用、浅拷贝、深拷贝 推导式 %和format 连接字符串用join还是+ 函数 函数参数传递 lambda 函数式编程 args和 kwargs 函数的工作原理 迭代器和生成器 迭代器 生成器 面向切面编程AOP AOP 闭 ...
分类:
编程语言 时间:
2019-07-01 13:47:22
阅读次数:
95
与堆操作相关的两个函数 malloc 运行结果:(linux) exbot@ubuntu:~/wangqinghe/C/20190630$ ./malloc 0 0 0 0 0 0 0 0 0 0 全是0表示分配的这块内存没有用过。 相同的代码在windows环境下运行必须将 char *p = m ...
分类:
其他好文 时间:
2019-06-30 14:10:51
阅读次数:
106
首先是模式串匹配: malloc : 数组=(类型*)malloc(数组大小*sizeof(类型)); free(数组); 例如: 然后 这个算法的复杂度是o(m^n); 我们需要一个更快的算法——kmp 我们来看一个例子:例子别的博主那里偷一下吧。没时间自己画图。哈哈哈 ...
分类:
其他好文 时间:
2019-06-29 10:37:52
阅读次数:
136
[TOC] 内存分配和释放 STL中有两个分配器,一级分配器和二级分配器,默认使用二级分配器,使用二级分配器分配大内存时会调用一级分配器去执行,一级分配器使用malloc和free分配和释放内存。如果分配小内存那么二级分配器会从内存池中进行查找,防止malloc/free的开销。 为了了解原理,不深 ...
分类:
其他好文 时间:
2019-06-27 00:40:46
阅读次数:
123
转自:http://luodw.cc/2015/10/15/leveldb-04/ 这篇博客主要讲解下leveldb内存池,内存池很多地方都有用到,像linux内核也有个内存池。内存池的存在主要就是减少malloc或者new调用的次数,较少内存分配所带来的系统开销。 Arena类采用vector来存 ...
分类:
数据库 时间:
2019-06-25 00:26:22
阅读次数:
148