智慧 + 毅力 = 无所不能

正确性、健壮性、可靠性、效率、易用性、可读性、可复用性、兼容性、可移植性...
随笔 - 991, 文章 - 0, 评论 - 27, 阅读 - 341万

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

12 2010 档案

摘要:转自:http://www.itcodeworld.com/?p=105使用结构CRITICAL_SECTION 需加入头文件#include “afxmt.h”定义一个全局的锁 CRITICAL_SECTION的实例和一个静态全局变量[代码]创建两个线程函数,代码实现如下:代码在主函数添加以下代码代码输出:n_AddValue in FirstThread is 1n_AddValue in FirstThread is 2n_AddValue in FirstThread is 3n_AddValue in FirstThread is 4n_AddValue in FirstThread 阅读全文

posted @ 2010-12-20 17:45 Bill Yuan 编辑

摘要:众多C++书籍都忠告我们C语言宏是万恶之首,但事情总不如我们想象的那么坏,就如同goto一样。宏有一个很大的作用,就是自动为我们产生代码。如果说模板可以为我们产生各种型别的代码(型别替换),那么宏其实可以为我们在符号上产生新的代码(即符号替换、增加)。关于宏的一些语法问题,可以在google上找到。相信我,你对于宏的了解绝对没你想象的那么多。如果你还不知道#和##,也不知道prescan,那么你肯定对宏的了解不够。我稍微讲解下宏的一些语法问题(说语法问题似乎不妥,macro只与preprocessor有关,跟语义分析又无关):1. 宏可以像函数一样被定义,例如: #define min(x,y 阅读全文

posted @ 2010-12-15 21:43 Bill Yuan 编辑

摘要:第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针虽然:char *pa, *pb;也可行,但相对来说没有用typedef的形式直观,尤其在需要大量指针的地方,typedef的方式更省事。用途二:用在旧的C的代码中(具体多旧没有查),帮助struct。以前的代码中,声明struct新对象 阅读全文

posted @ 2010-12-15 21:41 Bill Yuan 编辑

摘要:转自:http://www.91linux.com/html/article/program/python/20090804/17759.htm在python有各种各样的string操作函数。在历史上string类在python中经历了一段轮回的历史。在最开始的时候,python有一个专门的string的module,要使用string的方法要先import,但后来由于众多的python使用者的建议,从python2.0开始,string方法改为用S.method()的形式调用,只要S是一个字符串对象就可以这样使用,而不用import。同时为了保持向后兼容,现在的python中仍然保留了一个s 阅读全文

posted @ 2010-12-10 11:55 Bill Yuan 编辑

摘要:保证你要转换的字符串编码为UTF8,如果不是,请iconv cnStr成utf8 恩, pack/unpack很强大,, 和c语言交换数据, 二进制方式的序列化,操作二进制文件.. etc… 附上format参数的说明: 阅读全文

posted @ 2010-12-10 01:20 Bill Yuan 编辑

摘要:1.  前言偶然看到Erlang vs. Stackless python: a first benchmark,对Erlang和Stackless Python的并发处理性能进行了实验比较,基本结论认为二者有比较相近的性能。我看完产生的问题是,Stackless Python与Python的其他并发实现机制性能又会有多大区别呢,比如线程和进程。因此我采用与这篇文章相同的办法来对Stackless Python、普通Python的thread模块、普通Python的threading模块、普通Python的processing模块这四种并发实现方案进行了性能实验,并将实验过程和基本结果记录在这 阅读全文

posted @ 2010-12-08 16:37 Bill Yuan 编辑

摘要:有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用struct来处理c语言中的结构体.struct模块中最重要的三个函数是pack(), unpack(), calcsize()pack(fmt, v1, v2, ...) 按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流)unpack(fmt, string) 按照给定的格式(fmt)解析字节流string,返回解析出来的tuplecalcsize(fmt) 计算给定的格式(fmt)占用多少字节的内存struct中支持的格式如下 阅读全文

posted @ 2010-12-06 22:43 Bill Yuan 编辑

摘要:代码初探正确的答案是:[代码]如果您已经猜对了,那么可以不看我这篇博文了。如果你没有猜对或者心里有所疑问,那我的这篇博文正是为您所准备的。一切由为什么会输出“A.__private()”开始。但要讲清楚为什么,我们就有必要了解一下Python的命名机制。据 Python manual,变量名(标识符)是Python的一种原子元素。当变量名被绑定到一个对象的时候,变量名就指代这个对象,就像人类社会一样,不是吗?当变量名出现在代码块中,那它就是本地变量;当变量名出现在模块中,它就是全局变量。模块相信大家都有很好的理解,但代码块可能让人费解些。在这里解释一下:代码块就是可作为可执行单元的一段Pyth 阅读全文

posted @ 2010-12-06 20:10 Bill Yuan 编辑

摘要:今天学习了Python中有关正则表达式的知识。关于正则表达式的语法,不作过多解释,网上有许多学习的资料。这里主要介绍Python中常用的正则表达式处理函数。re.match  re.match 尝试从字符串的开始匹配一个模式,如:下面的例子匹配第一个单词。 [代码]re.match的函数原型为:re.match(pattern, string, flags)第一个参数是正则表达式,这里为"(\w+)\s",如果匹配成功,则返回一个Match,否则返回一个None;第二个参数表示要匹配的字符串;第三个参数是标致位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。re.search 阅读全文

posted @ 2010-12-06 20:04 Bill Yuan 编辑

摘要:介绍了thread模块,今天来学习Python中另一个操作线程的模块:threading。threading通过对thread模块进行二次封装,提供了更方便的API来操作线程。今天内容比较多,闲话少说,现在就开始切入正题!threading.Thread  Thread 是threading模块中最重要的类之一,可以使用它来创建线程。有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法;另一种是创建一个threading.Thread对象,在它的初始化函数(__init__)中将可调用对象作为参数传入。下面分别举例说明。先来看看通过继承 threading.Thread类来创 阅读全文

posted @ 2010-12-06 20:02 Bill Yuan 编辑

摘要:例如:[代码]或者[代码]如果要在程序中动态地创建类实例,也一样要分两步走,例如:[代码]但是要注意:如果myclass并不在mymodule的自动导出列表中(__all__),则必须显式地导入,例如:[代码]若要封装的规范一些,可以这样来做:代码转自:http://www.python8.org/a/fenleiwenzhang/yuyanjichu/2010/1001/566.html 阅读全文

posted @ 2010-12-06 19:33 Bill Yuan 编辑

摘要:代码具体的结果, 直接拷贝代码到你的本机下运行即可知道. 在我这里, sbv6的时间是0.578s, 最慢的是用generator的sbv2, 22s左右, 其他时间是差不多的, 都是11s左右.总的来说, PEP 265 介绍的方法基本是别的方法十倍左右的速度. 转自:http://www.python8.org/a/fenleiwenzhang/yuyanjichu/2009/0913/318.html 阅读全文

posted @ 2010-12-06 19:30 Bill Yuan 编辑

点击右上角即可分享
微信分享提示