杂
biubiu_scut
这个作者很懒,什么都没留下…
展开
-
霍夫曼编码
相信大家应该听说过 David Huffman 和他的压缩算法—— Huffman Code,一种通过字符出现频率,Priority Queue,和二叉树来进行的一种压缩算法,这种二叉树又叫Huffman二叉树 —— 一种带权重的树。从学校毕业很长时间的我忘了这个算法,但是网上查了一下,中文社区内好像没有把这个算法说得很清楚的文章,尤其是树的构造,而正好看到一篇国外的文章《A Simple转载 2014-12-13 20:39:17 · 694 阅读 · 0 评论 -
Valgrind工具检测内存
如何使用Valgrind memcheck工具进行C/C++的内存泄漏检测应用 Valgrind 发现 Linux 程序的内存问题原创 2018-03-18 20:09:59 · 238 阅读 · 0 评论 -
C语言的变量的内存分配
今晚看了人家写的一个关于C语言内存分配的帖子,发现真是自己想找的,于是乎就收藏了。。。先看一下两段代码:[cpp] view plain copy print?char* toStr() { char *s = "abcdefghijkl"; return s; } int main() {转载 2016-05-07 16:17:46 · 479 阅读 · 0 评论 -
Shadow Map & Shadow Volume
阴影的实现方法有很多种,现在比较流行的主要是 shadow mapping 和shadow volume。前者实现起来相对简单,可以发挥现在GPU可编程流水线的能力,但是由于先天不足,shadow mapping在处理动态光源/物体的时候开销过大,经常作为一种静态场景中的廉价替代物。而 Shadow volume 的强项恰恰是 shadow mapping 的短处,像 DOOM3 这种大量运用转载 2016-01-26 20:29:41 · 766 阅读 · 0 评论 -
OpenGL学习资料汇总
NeHe OpenGL教程中文版地址(http://www.yakergong.net/nehe/)评价:耐心耐心再耐心地从第一篇开始照着敲代码,尝试,从而入门。SharpGL开源地址(https://github.com/dwmkerr/sharpgl)评价:用C#对OpenGL进行封装得到的类库。除了最基本的C#版的OpenGL函数接口外,还提供转载 2015-11-03 13:06:15 · 894 阅读 · 0 评论 -
编译器链接过程 静态链接 动态链接
理解链接有很多好处:有助于构造大型程序 有助于避免一些危险编程错误 有助于理解其他重要的系统概念 让你能够利用共享库1. 编译器驱动程序编译命令,假设有main.c和swap.c两个源文件[cpp]view plaincopy$gcc-O2-g-opmain.cswap.c实际上编译过程可以分解为以下步骤[cpp]view pl...转载 2015-11-01 16:58:14 · 3107 阅读 · 0 评论 -
lua快速入门
运行首先,我们需要知道,Lua是类C的,所以,他是大小写字符敏感的。下面是Lua的Hello World。注意:Lua脚本的语句的分号是可选的,这个和GO语言很类似。复制代码代码如下:print("Hello World")你可以像python一样,在命令行上运行lua命令后进入lua的shell中执行语句。复制代码代码如下:转载 2015-11-22 21:32:55 · 594 阅读 · 0 评论 -
cJSON库(构建json与解析json字符串)-c语言
一、c语言获取json中的数据。1、先要有cJOSN库,两个文件分别是cJSON.c和cJSON.h。2、感性认识char * json = { \"json\" : { \"id\":1, \"nodeId\":11, \"deviceId\":111, \"deviceName\":转载 2015-11-07 17:38:13 · 3068 阅读 · 0 评论 -
grep命令详解
简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展转载 2015-05-17 19:13:46 · 367 阅读 · 0 评论 -
awk命令详解
简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfr转载 2015-05-15 22:12:24 · 381 阅读 · 0 评论 -
快速学习正则表达式
目录跳过目录本文目标如何使用本教程正则表达式到底是什么东西?入门测试正则表达式元字符字符转义重复字符类分枝条件反义分组后向引用零宽断言负向零宽断言注释贪婪与懒惰处理选项平衡组/递归匹配还有些什么东西没提到联系作者网上的资源及本文参考文献更新纪录本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教转载 2015-05-15 19:27:50 · 771 阅读 · 0 评论 -
sed命令详解
简介sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。转载 2015-05-15 22:09:38 · 382 阅读 · 0 评论 -
字节对齐
如果体系结构是不对齐的,A中的成员将会一个挨一个存储,从而sizeof(a)为11。显然对齐更浪费了空间。那么为什么要使用对齐呢?体系结构的对齐和不对齐,是在时间和空间上的一个权衡。对齐节省了时间。假设一个体系结构的字长为w,那么它同时就假设了在这种体系结构上对宽度为w的数据的处理最频繁也是最重要的。它的设计也是从优先提高对w位数据操作的效率来考虑的。比如说读写时.............此处转载 2015-03-31 22:24:35 · 386 阅读 · 0 评论 -
字符串常量
1.以字符串形式出现的,编译器都会为该字符串自动添加一个0作为结束符,如在代码中写 "abc",那么编译器帮你存储的是"abc\0"2."abc"是常量吗?答案是有时是,有时不是。 当赋予数组时不是常量,例如,char str[] = "abc"的最终结果是char str[4] = {'a','b','c','\0'};str[0]='v'//正确 赋予char*时"ab原创 2015-03-07 16:45:24 · 575 阅读 · 0 评论 -
一致性hash算法 - consistent hashing
consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛;1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的...转载 2018-08-30 17:20:05 · 154 阅读 · 0 评论