编程技巧
文章平均质量分 60
Allen
这个作者很懒,什么都没留下…
展开
-
Dichotomy算法
///////////////////////////////////////////////////////////////// Arithmetic Dichotomy// 20060310 by daineng@nj.cpsecure///////////////////////////////////////////////////////////////#include #inclu原创 2006-03-13 10:29:00 · 1398 阅读 · 0 评论 -
Python和C混合编程时需注意内存泄漏
看下面的例子: PyObject* py_func(PyObject *self, PyObject *args){ PyObject *pStr = Py_BuildValue("s", "a string for test...."); PyObject *pList = PyList_New(1); PyList_SetItem(pList, 0, pStr);原创 2009-01-15 11:11:00 · 2137 阅读 · 1 评论 -
source backup in python
在Linux下运行的源码备份的Python程序:#!/usr/bin/python # Filename : srcbackup.py # 2008-10-08 13:40 by daineng@taobao import osimport sysimport timeBACK_FENDS = [.py, .cpp, .c]BACK_FB原创 2008-10-08 14:39:00 · 730 阅读 · 0 评论 -
用C语言扩展Python的功能的实例
请点击这里查看关于用C语言扩展Python的功能。 只要安装了Python,在用C进行Python的扩展编程时不需要额外安装任何东西,Python会将头文件防置于/usr/include/python下,根据不同的版本稍有不同。 下面给出一个例程,它将产生一个可以被python导入的模块,名为Example,其中包含一个splitwords的函数,这个函数接受两个参数,第一个是包含单词的字原创 2008-04-23 09:31:00 · 4440 阅读 · 0 评论 -
流状态的查询和控制
流有3个状态,对应于3个定义的位标志stream::iostate: stream::badbit系统级的故障,如无法恢复的读写错误,流通常无法继续使用。 stream::failbit可恢复的流错误,如在希望获得数值型的数据时输入了字符, stream::eofbit文件结束,同时还会设置failbit标志有3个操作bad(), fail(), e原创 2008-04-05 09:37:00 · 2116 阅读 · 1 评论 -
真实的生产者-消费者模型
先说点其他的,pthread_cond_wait(cond, lock)在语义上等于pthread_mutex_unlock(lock), pthread_cond_wait(cond), pthread_mutex_lock(lock),但却不能拆开运行,在第一句和第二句之间有可能会错失信号。下面是一个真实的模型,这个模型中有一个producer和多个consumer,producer有生产原创 2008-03-26 23:04:00 · 1188 阅读 · 2 评论 -
多线程模型:生产者和消费者
如果仅使用用pthread_mutex,为了检查条件是否满足,需要重复锁定、检查、解锁,这个过程消耗了大量的CPU时间片。while(true) { pthread_mutex_lock(&mutex); if (condition) break; pthread_mutex_unlock(&mutex);} do_critical(); pthread_mutex_un原创 2008-03-18 23:05:00 · 1534 阅读 · 0 评论 -
g++: -l[some]: linker input file unused because linking not done
这只是一个警告,在编译(-c)的时候使用了"-l"选项,这个应该用于链接。 下面有一段来自于http://gcc.gnu.org/ml/gcc-help/1999-12n/msg00351.html的原文:The message that gcc reported is correct. When you supply a library (even a compiled object f原创 2008-02-29 15:51:00 · 13162 阅读 · 2 评论 -
Python:time, strftime和strptime
最常用的time.time()返回的是一个浮点数,单位为秒。但strftime处理的类型是time.struct_time,实际上是一个tuple。strptime和localtime都会返回这个类型。>>> import time>>> t = time.time()>>> t1202872416.4920001>>> type(t)>>> t = time.localtime()>>> t原创 2008-02-13 11:31:00 · 32479 阅读 · 2 评论 -
Python中的Unicode
############################################################################## # 在Python中使用Unicode # 20061013 by daineng@nj.cpsecure # # 在Python-Shell下使用 (Linux & Window原创 2006-10-13 13:56:00 · 1965 阅读 · 0 评论 -
Boyer Moore Pattern Matching Algorithm
/***************************************************** * Boyer Moore Pattern Matching Algorithm * 20060427 by daineng@nj.cpsecure *****************************************************/这个算法的特点在于从patt原创 2006-04-27 20:48:00 · 2897 阅读 · 0 评论 -
openssl MAIN PROG
#################################################################### openssl MAIN PROG# 20060313 by daineng@nj.cpsecure# Last Modified @ 20060404#######################################################原创 2006-03-13 10:26:00 · 1260 阅读 · 0 评论 -
在使用iterator遍历dict中的元素
一般我们使用 for k,v in d.items() 来遍历dict中所有的k-v对,Python教程给出的例子也总是这样,但涉及处理大量数据时,比如dict有上G的数据,使用这种方法产生(k,v)的列表会非常耗时,并且占用很多内存。同STD中的iterator一样,Python中也有迭代子,只是我们不常使用。dict有几种迭代子,它们分别是:iteritems, iterkeys, i原创 2008-11-25 16:08:00 · 3476 阅读 · 0 评论