Linux下编译链接动态库

记录下Linux下编译和链接动态库的过程。 ##一、 编写动态库 头文件so.h: 1 2 3 4 5 6 7 8 #ifndef SO_H#define SO_H int add(int a, int b); #endif /*SO_H*/ 实现文件so.c: 1 2 3 4 5

C语言宏的特殊用法和几个坑

总结一下C语言中宏的一些特殊用法和几个容易踩的坑。由于本文主要参考GCC文档,某些细节(如宏参数中的空格是否处理之类)在别的编译器可能有细微

Python descriptor

一次偶然发现,Python的对象竟然可以在运行期动态添加类定义时没有的属性,这又颠覆了我对Python OO机制的理解。Google了一把,顺

Trie树的Python实现

又是一个由需求驱动的算法学习的例子。 最近weii需要实现一个这样的功能:在发送AT好友的时候能给出自动补全的列表。 最先想到的是当我给出一个用

通俗演绎KMP

最近要实现关键字过滤功能,小看了一些经典的字符串匹配算法。 本文要介绍的是KMP算法(Knuth–Morris–Pratt Algorithm)

Python decorator的应用

Decorator是23种设计模式之一,提出的目的是为了在不改变现有代码的前提下,通过在头部或尾部添加代码来扩展功能。 Python语言内建支

multipart/form-data的实现

写之前先吐槽几句:Python社区太懒了,Python3都推出多少年了,那么多第三方库还不port到Python3。不能安于现状啊! 下面是正

nikola+gitpage搭建博客

本来博客是在CSDN上的http://blog.csdn.net/digimon,但最近CSDN在我这一直无法登录,已经在Evernote上

python的import机制

同一个模块以相同的模块名被导入时,模块内的代码只执行一遍(模块名必须相同)。 例: import/ test.py mo/ A.py # A.py a = 1 print(a) a += 1 # test.py #!/usr/bin/env python3 import os import sys import mo.A import mo.A path = os.path.abspath('./mo') print(path) sys.path.append(path)

实现简单线程池

前段时间在写代码的时候(用了Qt)出现了似乎跟线程池有关的bug,在不确定是否是Qt线程池库QThreadPool的bug的情况下,自己实现