自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Python 2.x嵌套作用域的限制

Python的作用域规则并不像C那么简单明了,PEP 227中详细说明了具体规则。复杂规则的制定,也带来了一些看上去违背直觉的限制。

2016-10-16 01:42:27 2274 1

原创 警惕Python中重复运算符(*)的坑

Python中对一个序列执行乘法,试图倍增序列的长度,但是初学者可能会不小心陷入一个难以察觉的bug中。

2014-11-27 19:32:40 2419

原创 Python IDLE reload(sys)后无法正常执行命令的原因

通常大多数人执行reload(sys)这条语句其实仅仅是为了能够修改Python的默认字符集,也就是能够调用sys.setdefaultencoding()。但是如果在IDLE中执行reload(sys),就会导致接下来无法正常执行任何命令。 起初遇到这个问题也是束手无策,后来无意间在stackoverflow上看到有人说到了这个问题。原来是因为IDLE作为一个GUI Shell环境,在启...

2014-11-23 20:20:21 4643 1

原创 如何正确地使用vfork():简析vfork()与fork()的不同

vfork是一个比较特别的系统调用,它与fork之间有一些微妙的区别。

2014-11-23 16:53:03 6257

原创 探寻Python中如何同时迭代多个iterable对象

一步步探寻如何在Python中用最简洁的代码实现同时迭代多个iterable对象,比如同时从两个文件里面读取每一行进行对比。

2014-11-23 00:01:29 9955 2

原创 跳表的C语言实现,不同于redis版本

不同于redis的跳表实现,使用纯粹的链式结构。

2014-10-05 21:04:31 2992 2

原创 log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析

log4j-over-slf4j和slf4j-log4j12是跟java日志系统相关的两个jar包,当它们同时出现在classpath下时,就可能会引起堆栈溢出异常。先大致梳理了一下现有Java日志体系接口,然后仔细分析了这种异常出现的原因,最后重现异常并展示了详细的调用过程。

2014-08-17 12:08:06 37255 16

原创 MySQL的字符编码体系(二)——数据传输编码

MySQL的字符编码结构比较细,它大方向分为两个部分:数据存储编码和数据传输编码。上一篇讨论了数据存储编码部分,本篇讨论数据传输编码中讨论。

2014-07-12 11:34:12 4363 3

原创 MySQL的字符编码体系(一)——数据存储编码

安装MySQL好多次了,每次都会纠结于数据库的字符编码配置,所以我决定这一次彻底把它理清。

2014-07-12 11:33:04 3010

原创 64位tomcat7在windows下安装服务提示版本不兼容的解决方案

估计很少有人在windows下装tomcat时

2014-06-26 17:07:02 4027

原创 非常精简的Linux线程池实现(二)——使用信号量和自旋锁进一步简化程序

我在博客Linux C语言多线程库Pthread中条件变量的的正确用法逐步详解

2014-06-17 11:00:17 2373 1

原创 非常精简的Linux线程池实现(一)——使用互斥锁和条件变量

其实线程池的原理非常简单,它就是一个非常典型的生产者消费者同步问题。如果不知道我说的这个XXX问题也不要紧,我下面就解释。

2014-06-17 10:18:06 11068 11

原创 一个通用纯C队列的实现

队列并不是很复杂的数据结构,但是非常实用,这里实现一个队列是为了

2014-06-17 09:06:59 4754 3

原创 Linux C语言多线程库Pthread中条件变量的的正确用法逐步详解

在linux平台中编写复杂的多线程程序,没有互斥锁是肯定不行的,而仅有互斥锁没有条件变量也是万万不行的。关于互斥锁需要注意的问题不多,而且现有资料也很多。但是条件变量的正确使用却不是一件简单的事,有很多需要注意的地方。

2014-06-17 02:15:02 9945 2

原创 CodeBlocks设置Intel反汇编代码语法

CodeBlocks默认C编译器是gcc,调试器是gdb

2014-06-06 19:34:38 6707

原创 bloom filter的纯C实现

/** *bloom_filter.h * *bloom filter算法的API定义和说明。 *这套API没有考虑错误处理,不包含特定hash函数的实现。 */#ifndef BLOOM_FILTER_H_INCLUDED#define BLOOM_FILTER_H_INCLUDED/** *bloom filter算法核心类型 * *核心类型用于定义b

2014-05-18 16:39:22 2389

原创 64位Win7中使用64位库开发程序遇到的Undefined Reference问题

在64位Win7中利用一些64位库的开发程序有时会出现Undefined Reference(未定义的引用)这类的问题。比如系统中安装了64位版本的MySQL,然后按照网上教程一步步配置C/C++的数据库程序开发环境,到最后编译链接通常都会出现Undefined Reference问题。另一个例子是使用64位的OpenNI2库来开发Kinect应用程序,通常也会遇到Undefined Refe

2014-05-15 21:09:27 1545

原创 ubuntu下signal()函数的行为

写此文的目的是最近遇到了与signal()函数相关的问题。虽然早知道signal()是一个机制不完善、语意混乱,已经不被推荐使用的函数,但我遇到的问题出乎了我的意料,所以上网搜了搜,结果基本都是一个口径:signal()安装的信号处理函数会被自动重置。对于这样的结果我非常不满意,所以只好自己去查阅了man,再在ubuntu13.04上动手试验才弄清楚。先来摘录一段man里的表述(有点长

2014-04-04 19:57:11 3446

原创 C语言真的不能面向对象吗?

一直以来,有关于C++、Java、C#等语言的书总喜欢在开篇介绍中拿C语言来比较一番。在承认C语言无可争议的运行效率的同时,也总爱拿C语言不具备面向对象血统的短板说事。当年在看这些的书的时候,我还觉得深以为然。但经过这些年的学习和见闻,我却越来越强烈地感到这种说法有失偏颇:C语言真的不具备面向对象的能力吗?考虑这个问题之前,首先要明确一点,什么是面向对象,或者说什么是对象?可以认为,对象=属性

2014-03-16 23:35:32 12290 10

原创 vs2013设置winpcap开发环境

WinPcap 4.0.1在线中文手册:http://www.ferrisxu.com/WinPcap/html/index.html 本文以Visual Studio 2013和WinPcap 4.1.3作为示例,对32位和64位Win7通用 1、下载并安装WinPcap运行库http://www.winpcap.org/install/default.htm 2、下载W

2014-02-28 12:52:15 13710 4

原创 CodeBlocks 13.12设置winpcap开发环境

WinPcap 4.0.1在线中文手册:http://www.ferrisxu.com/WinPcap/html/index.html 本文以CodeBlocks 13.12和WinPcap 4.1.3作为示例,对32位和64位Win7通用 1、下载并安装WinPcap运行库http://www.winpcap.org/install/default.htm 2、下载Win

2014-02-28 09:00:31 4456

原创 CodeBlocks设置程序UAC执行级别

在vs里设置UAC执行级别是很容易的,但是CodeBlocks并不原生支持UAC的设置。实际上,Windows是通过在程序中嵌入带UAC选项的manifest清单文件来实现程序的UAC支持的。所以,我们可以设法在CodeBlocks的C/C++项目中添加清单文件,让生成的程序带有安全盾,双击运行时自动请求管理员权限,如下所示:具体的嵌入方法很简单,把下面两段内容分别保存为res

2014-02-28 08:20:34 3719

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除