2015年4月30日

摘要: ?= 赋值,当变量未定义过时赋值,否则不赋值 |用于定义order-only prerequisite 在makefile中使用$时,如果不是用来引用变量或者调用函数时,需要用$$来表示一个普通的字符$ 如: define CSERVICE_TEMP $$(CSERVICE_PATH)/$(1).so : service-src/service_$(1).c | $$(CSERVICE... 阅读全文
posted @ 2015-04-30 10:38 莫贰 阅读(140) 评论(0) 推荐(0) 编辑

2013年9月22日

摘要: 利用正则表达式去除C++代码中的注释,并且避开字符串 阅读全文
posted @ 2013-09-22 16:54 莫贰 阅读(1626) 评论(0) 推荐(1) 编辑

2013年9月9日

摘要: 想实现一个combobox控件,只要在输入框中输入汉字对应拼音的首字母(音序)就可以过滤出想要的条目,就像totalcommander的PinYinQuickSearch插件一样。汉字对应的音序怎么获取就成了首先要解决的问题。google了一下,发现有gbk汉字与拼音的对照表,找了几个csdn上下载的,其来源貌似不太中靠,于是看看开源输入法里有没有现成的对照表,果然找到了一个拼音汉字对照表,来自fcitx。备了一份到新浪共享。 阅读全文
posted @ 2013-09-09 00:07 莫贰 阅读(785) 评论(0) 推荐(0) 编辑

2013年2月17日

摘要: 1 int i = 0;2 const int *p1 = &i;3 int const *p2 = &i;4 int *const p3 = &i;上述代码中的p1和p2都是指向const的指针,表示指针指向的地址里的内容不可修改,*p1 = 1;会编译不过;p3则是const指针,表示p3指向的地址不可修改,p3 = NULL;会编译不过。1 int i = 0;2 typedef int *PINT;3 const PINT pInt = &i;4 *pInt = 1;上述代码中的pInt变量是const指针,而非指向const的指针,使用PINT类型是声 阅读全文
posted @ 2013-02-17 21:33 莫贰 阅读(193) 评论(0) 推荐(0) 编辑

2013年2月2日

摘要: str VS unicodepython中有两种类型的字符串,分别是str和unicode,其中str是字符串的某种编码的字节流,unicode类型的字符串用的是UCS-2编码。默认编码python2的默认编码为ASCII。可以通过sys.getdefaultencoding()得到。当没有编码声明时就会用默认编码来解码源文件中的str类型字符串。源文件编码VS编码声明python源文件的头部声明源文件的编码格式,如#coding:utf-8。python中的源文件编码最好和编码声明一致,否则会出现解码错误。1 #coding:uft-82 3 s = u"中国"将上面的代 阅读全文
posted @ 2013-02-02 09:51 莫贰 阅读(865) 评论(0) 推荐(0) 编辑

2012年11月19日

摘要: 出处:http://blog.csdn.net/fmddlmyy/article/details/372148这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题:问题一:使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢?我很早前就发现Unicode、Unicode big endian和UTF-8编码的txt文件的开头会多出几个字节,分别是FF、F 阅读全文
posted @ 2012-11-19 22:47 莫贰 阅读(159) 评论(0) 推荐(0) 编辑

2012年11月11日

摘要: # -*- coding:utf-8 -*-import copya = ['test', [[1,2],3]]b = ac = copy.copy(a)d = copy.deepcopy(a)print id(b), id(a), id(c), id(d)print [id(x) for x in a]print [id(x) for x in b]print [id(x) for x in c]print [id(x) for x in d]print [id(x) for x in a[1]]print [id(x) for x in c[1]]print [id(x) 阅读全文
posted @ 2012-11-11 21:46 莫贰 阅读(301) 评论(0) 推荐(0) 编辑

2012年6月10日

摘要: 首先需要把U盘制成可以引导的安装盘,需要用到grubinst-1.1-bin-w32-2008-01-01和grub4dos-0.4.4这两个工具。解压grubinst-1.1-bin-w32-2008-01-01运行grubinst_gui.exe文件,在磁盘选项中选中你的u盘,然后进行安装。如果安装不成功,可以试着在额外参数的地方加上--skip-mbr-test参数。解压grub4dos-0.4.4,拷贝grub4dos-0.4.4下grldr和menu.lst文件到U盘根目录下。将Fedora-13-i386-DVD.iso拷贝到U盘根目录下接着将Fedora-13-i386-DVD. 阅读全文
posted @ 2012-06-10 11:31 莫贰 阅读(1228) 评论(0) 推荐(0) 编辑

2012年5月17日

摘要: 有一个函数的原型是void f(CString &str);调用处的代码是f("abc");结果编译不过,函数原型改成 void f(const CString &str); 编译就可以通过。查了一下<<C++ Primer>>,发现nonconst引用类型只可以引用相同的类型的对象,const引用类型才可以引用类型不同的对象。附上<<C++ Primer>>的解释:A const reference can be initialized to an object of a different type or 阅读全文
posted @ 2012-05-17 22:23 莫贰 阅读(474) 评论(0) 推荐(0) 编辑

2012年5月9日

摘要: 使用windbg时无法很方便的查看CStringArray里的内容,于是写了下面的脚本。脚本内容如下:r $t1 = &${$arg1};r $t2 = @@c++(*(unsigned int*)(@$t1+8));.printf "Total elements:%N\n", @$t2;.for (r $t0=0; @$t0<@$t2; r $t0=@$t0+1){ da @@c++(*(unsigned int*)((*(unsigned int*)(@$t1+4))+4*@$t0));}r $t0 = 0;r $t1 = 0;r $t2 = 0;将其保存 阅读全文
posted @ 2012-05-09 22:11 莫贰 阅读(508) 评论(0) 推荐(0) 编辑

导航