
c语言
文章平均质量分 61
aican_yu
这个作者很懒,什么都没留下…
展开
-
大型网站的结构方案
1. PlentyOfFish 网站架构学习http://www.dbanotes.net/arch/plentyoffish_arch.html采取 Windows 技术路线的 Web 2.0 站点并不多,除了 MySpace ,另外就是这个 PlentyOfFish。这个站点提供 “Online Dating” 服务。一个令人津津乐道的、惊人的数据是这个只有一个人(创建人Mar原创 2011-11-15 23:50:09 · 442 阅读 · 0 评论 -
XML解析
C++的XML编程经验――LIBXML2库使用指南写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML库,而且它同时支持多种编程语言;2)LIBXML2库的Tutorial写得不太好,尤其是编码转换的部分,不适用于中文编码的转换;3)网上的大多数关于Libxml2的介绍仅仅是翻译了自带的资料,没原创 2012-06-07 17:48:28 · 516 阅读 · 0 评论 -
fgets变长
#define Malloc(type,n) (type *)malloc((n)*sizeof(type))static char *line = NULL;static int max_line_len;static char* readline(FILE *input){ int len; if(fgets(line,max_line_len,input) == NULL原创 2012-04-27 09:39:24 · 601 阅读 · 0 评论 -
http代理服务器工作步骤
http代理服务器工作步骤:一、 监听端口。二、 接受连接,创建新线程,并继续监听。三、 在新线程中,接受客户端发送的请求。四、 分析客户端的请求,取出请求方法(GET POST等)、路径(http://www.xx.com/a.htm等)、http协议版本、其它头信息等。五、 在cache中查找,是否有符合条件的目标内容。如果有,发给客户端;否则六、 如果cache中没有原创 2012-03-16 13:08:12 · 1099 阅读 · 0 评论 -
非递归的快排序
#include #include #include //Nonrecursive quicksortvoid quicksort2(int a[], int n){#define STACK_MAX 32 //the space complexity of quicksort is O(logN), so 32 is enough!#define SWAP(a, b) {int原创 2012-03-07 18:03:55 · 526 阅读 · 0 评论 -
js绘制玫瑰花
导语:前年圣诞节上,西班牙程序员Roman Cortes带来了用纯javascript脚本编写的神奇3D圣诞树,令人印象深刻。2月14日情人节就要来临了,还是Roman Cortes,这次他又带来了用javascript脚本编写的红色玫瑰花。用代码做出的玫瑰花,这才是牛逼程序员送给女友的最好情人节礼物呢!(提示:在不同浏览器下观看效果、速度会有很大的不同)图片是由代码生成,用户可以原创 2012-02-13 09:19:51 · 2101 阅读 · 0 评论 -
glib库的介绍
glib库是Linux平台下最常用的C语言函数库,它具有很好的可移植性和实用性。glib是Gtk +库和Gnome的基础。glib可以在多个平台下使用,比如Linux、Unix、Windows等。glib为许多标准的、常用的C语言结构提供了相应的替代物。使用glib库的程序都应该包含glib的头文件glib.h。########################### glib基转载 2012-01-31 18:49:57 · 640 阅读 · 0 评论 -
linux平台下的C语言开发
一、工具的使用1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑器,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的文本编辑器。2、学会makefile文件的编写规则,并结合使用工具aclocal、autoconf和automake生成makefile文件。3、掌握gcc和gdb的基本用原创 2012-01-31 18:46:57 · 604 阅读 · 0 评论 -
hash桶的质数的大小
static int prime_array[] = { 17, /* 0 */ 37, /* 1 */ 79, /* 2 */ 163, /* 3 */ 331, /* 4 */原创 2012-01-09 13:10:24 · 1111 阅读 · 0 评论 -
多线程条件下的计数器
最近编码需要实现多线程环境下的计数器操作,统计相关事件的次数。下面是一些学习心得和体会。不敢妄称原创,基本是学习笔记。遇到相关的引用,我会致谢。 当然我们知道,count++这种操作不是原子的。一个自加操作,本质是分成三步的: 1 从缓存取到寄存器 2 在寄存器加1 3 存入缓存。 由于时序的因素,多个线程操作同一个全局变量,会出现问题。这也原创 2011-12-15 14:13:58 · 503 阅读 · 0 评论 -
如何学好c语言
学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”,也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着你需要经历艰苦的过程。一、要读就读好书,否则不如不读 所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通原创 2011-12-06 17:23:38 · 575 阅读 · 0 评论 -
larbin队列(2)
一 larbin中的2中类型的队列 static SyncFifo *URLsPriority; //最高优先级 static SyncFifo *URLsPriorityWait; //次高优先级 static PersistentFifo *URLsDisk; //低原创 2011-11-10 19:32:59 · 715 阅读 · 0 评论 -
一个简单的内存池实现的例子
前几篇文章对内存池做了两次改进和简化,因为在liunux上内存分配的malloc已经在系统的优化控制范围内了,所以一定范围内的内存分配还是交由系 统比较快,经测试基本上对于大于256字节的内存分配交由本内存池分配性能有明显提高,本次系统所有其他的对象都是构建在这个内存池之上,内存池会对用户 申请的内存作出二次归类管理代码如下:memeory.h/* * File: me转载 2011-11-08 22:24:46 · 763 阅读 · 0 评论 -
c语言中宏的使用
C语言宏定义##连接符和#符的使用 C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量 通过替换后在其左右各加上一个双引号。比如下转载 2011-11-08 21:51:02 · 555 阅读 · 0 评论 -
搜索中得网页分类技术
1. 技术背景 分类问题是人类所面临的一个非常重要且具有普遍意义的问题。将事物正确的分类,有助于人们认识世界,使杂乱无章的现实世界变得有条理。自动文本分类就是对大量的自然语言文本按照一定的主题类别进行自动分类,它是自然语言处理的一个十分重要的问题。文本分类主要应用于信息检索,机器翻译,自动文摘,信息过滤,邮件分类等任务。文本分类的一个关键问题是特征词的选择问题及其权重分配。原创 2011-11-06 00:35:38 · 896 阅读 · 0 评论 -
AT原理
由两个hash组成, 一个hash是url--hash, 一个hash是site--hash, 每层都由几个过滤条件.元数据的类型及其构成原创 2011-11-03 16:11:53 · 512 阅读 · 0 评论 -
正则表达式
正则表达式是大量文本处理的基础, UNIX的grep命令就是基于正则表达式的, 很多文本处理语言(如AWK, PERL以及PHP)也都将支持正则表达式作为必备的功能.正则表达式的基本思想是: 定义一个模式, 在文本中搜索这个模式. 新的功能的引入伴随着新的特殊符号的引入. 这种描述风格自30年前由UNIX的grep命令引入后, 一直流行到现在, 甚至从未进行过大量的修改.模式中的任何放在括原创 2011-10-31 21:52:22 · 349 阅读 · 0 评论 -
制作水印
水印gm composite -geometry +0+0 -gravity southeast girl.jpg 4.63M.jpg output.jpggm convert -font ArialBold -pointsize 45 -fill red -draw “text 100,100 xxxxx” input.jpg output.jpggm composite原创 2012-05-18 13:17:07 · 548 阅读 · 0 评论