• 摘要视图
  • 目录视图

各种编程相关

Windows纤程(Fiber)

进程可以包含多个线程,线程又可以划分成多个纤程(Fiber)。

线程是内核对象,由Windows系统自动调度,线程的状态和数据需要内核进程创建和维护。

纤程是Windows提供的用户级线程包,完全运行在用户空间中,即对Windows内核是透明的。纤程由用户手动调度。

纤程的作用和优点:

  1. 使得UN[……]

    >> 阅读全文…

Python中使用sqlite3数据库

SQLite是一个小巧的关系型数据库,支持SQL语法。它是嵌入式的数据库,不需要安装后台的服务,或者说它是一个文件型的数据库。只需要在程序中加载几个相关文件,就可以使用。相比于MSSQL、MYSQL这种(中)大型的数据库来说,使用起来可谓相当方便。

sqlite3,即SQLite的第3个主版本[……]

>> 阅读全文…

(译)Python中如何使用urllib2模块

这是Python For Beginners 中的一篇文章,原文How to use urllib2 in Python,对urllib2讲解的深入浅出,确实是一篇很好的urllib2入门教程。为了确保翻译准确,关键词汇会使用原文或将原文备注于括号内。全文翻译如下:

概述(Overview)

尽[……]

>> 阅读全文…

Python正则表达式Regex(笔记)

正则表达式语法

正则表达式,Regular Expression,用于模式匹配,表达式中的字符分为:普通字符(Ordinary Character)和特殊字符(Special Character)。特殊字符就是在模式匹配时具有特殊用的字符,如“*”、”+”等,除去特殊字符剩下的都是普通字符。

使用p[……]

>> 阅读全文…

轻量级C#编译器

由于Visual Studio 系列的正统编译器对系统资源消耗过大,性能稍差的机子跑起来会很卡,新换系统后没敢装,但有时又要写点简单的C#代码,怎么办?经过搜寻,发现了一款名为Snippet Compiler的轻量级C#编译器。

Snippet Compile的优点与不足

优点

(转载)字符编解码的故事(ASCII,ANSI,Unicode,Utf-8区别)

声明:转载自“简单生活——Kevin Yang的博客

以诙谐幽默的笔法将字符编码的发展历史娓娓道道,内容详尽,囊括了ASCII码、ASCII码扩展、全角半角、GB2312、GBK、UNICODE、UTF-8等要点。

—————————————[……]

>> 阅读全文…

Effective C++ 学习笔记

1. C++编程范型

Programming Paradigms,也就是编程的风格和模式

  • Procedural-based,面向过程编程
  • Object-based,基于对象
  • Object-Oriented,面向对象编程
  • Generics,范型编程
  • Template MetaProgrammin[……]

    >> 阅读全文…

C++计时的几种方法总结及例程

程序中经常会用到计时,下面总结了常见的几种计时方法,包括clock()、time()、GetTickCount()、QueryFrequencyCount(),使用的方法大致一致,符合下面的规范。通过在代码开始和结束处分别获得某个计数值,计算(计数值差值/计数的频率)获得代码的执行时间。

start[......]

>> 阅读全文...

python 自动获取天气程序(Version1.0)

自动获取用户当前的城市,显示城市的最新天气信息

程序流程

1. 获取用户所在城市

抓取http://pv.sohu.com/cityjson ,其返回结果如下

pythoncityjson.png

从返回结果的json结构中读取去当前用户的所在城市。

city_info = urllib2.urlopen( 'http://[......]

>> 阅读全文...

python string的中文字符串截取

下面函数是从我在写的一个python自动获取天气的程序中截取的。

该函数将从中文字符串“浙江省杭州市”中,截取出"杭州"

首先将字符串编码为gbk,使用unicode(str,code),将code型编码的 str字符串转换成unicode

然后判断字符串中是否含有"省[……]

>> 阅读全文…

C++线程同步总结(笔记)

主要有四种方式:临界区(CRITICAL_SECTION)、互斥对象(Mutex,Mutual Exclusion)、事件对象(Event)、信号量(Semaphore)

其中临界区效率最高,但只能实现本进程内的线程同步。其它三个可以实现多个进程内的线程同步。信号量功能最强大可实现线程互斥也可以用[……]

>> 阅读全文…

显示鼠标当前的屏幕位置

首先的想到的自然是响应Windows的mousemove消息。

可是试过之后就会发现,当窗口不是最大化显示时,会出现两个问题:

  • 第一个,坐标系的不同,以致于显示的坐标是以窗口坐标系为基准的,而不是屏幕,这个问题虽然可以通过ClientToScreen()函数来解决,但是还会有下面一个问题;
  • 第二个[……]

    >> 阅读全文…

C\C++ static用法

预备知识

变量分类:

按作用域分: 局部变量;全局变量
按生存周期分:动态变量;静态变量

名称
定义
按定义位置的称谓

局部变量
函数内定义的变量
内部变量

全局变量
函数之外定义的变量
外部变量

名称
定义
说明

动态变量
声明为auto的变量[auto默认省[……]

>> 阅读全文…

Windows下动态链接库的创建和使用(笔记)

在学习过程中,一次次的感觉到dll文件的重要性,所以乘着这两天有时间,又把孙鑫老师的视频回顾了一遍,很经典,很透彻,在此做下笔记,以供后续温故。

IDE:Visual C++ 6.0

动态链接库的创建

下面的方法是层层递进的关系,下一个方法是在上一个的基础上做改善。

方法一:(单个*.cpp文件[……]

>> 阅读全文…