- 博客(51)
- 资源 (117)
- 收藏
- 关注
原创 慎用 new、delete
C++ STL 为我们提供了一套容器。在多数情况下,这套容器已足够让我们使用。所以,需要我们自己去用 new/new []/delete/delete [] 来管理内存的必要性并不是很大。此外,自己管理内存极容易导致程序出错。内存泄漏、堆遭到破坏这些事情都有可能发生。虽然各种编程 Tips 我们都熟稔于心,但真正在实际项目开发中遇到过的才令人印象深刻。为什么不要自己管理内存?让我们重温这几
2015-05-11 12:53:27
1306
原创 探究functools模块wraps装饰器的用途
《A Byte of Python》17.8节讲decorator的时候,用到了functools模块中的一个装饰器:wraps。因为之前没有接触过这个装饰器,所以特地研究了一下。
2014-07-07 09:55:57
2328
原创 C++11中的raw string literals
作为一名C++书看得少得可怜的弱渣,我一直没有勇气去系统地学习一下C++ 11添加的新特性。不过,平日里逛论坛,阅读大犇们的博客,倒是了解了一些。比如,这个帖子:
2014-06-27 16:39:12
7269
原创 用Python实现URL Encoding和Decoding
前些日子在一个论坛上看到网友拿03版《天龙八部》和13版《天龙八部》作对比。在比较两个版本的片尾曲的时候,提到了03版的片尾曲《宽恕》。帖子中提到,这首歌由王菲演唱、林夕作词、赵季平(电视剧《关西无极刀》片头曲的作者)作曲。记得高中时看《天龙》的时候就挺喜欢这首歌的,于是就用火狐浏览器下载了这首歌。但是下载得到的文件名是:%E5%AE%BD%E6%81%95.mp3。用浏览器在网上下载包含
2014-02-24 10:44:41
15361
2
原创 在Python中使用正则表达式的一些体会
第一次接触正则表达式是刚毕业那会儿。当时我在写一个DICOM图片浏览器。DICOM图像中的各种信息(比如:图像宽度、高度、编码类型、像素数据、成像时间等)分散存储在不同的item中。通常,一个item由一个预定义的tag、数据类型、数据长度、数据域这几部分组成。一些item还可以嵌套包含子item。DICOM图像一个有趣的地方就是,并不是每个图像文件都包含的item集合都是相同的(DICO
2014-01-17 15:22:58
2618
原创 使用CDB调试Qt代码
关键词:Qt 5、CDB、pdb平台:Win 7 64位Qt版本:Qt 5.1.1 IDE:Qt Creator编译器:msvc2012-x64目前,最新版本的Qt是Qt 5.1.1。针对Windows NT平台,Qt官网提供了两种安装包:一种使用MinGW作为默认编译器,一种使用MSVC(VS2010或VS2012)作为默认编译器。MinGW中已附带gcc、gdb等工具。
2013-11-07 09:55:36
13341
2
原创 Qt5中创建及使用自定义插件遇到的一些问题
关键词:Qt5、IconEditor、custom plugin、QtCreator、Failed Plugins今天,《C++ GUI Programming with Qt 4》看到了第五章自定义IconEditorPlugin的地方。动手尝试过程中,遇到一些问题,记录一下,借前辈之成果,示于后来者。开发环境:Win7 64 bit + Qt 5.1.0。由于书上是在Qt 4.
2013-10-15 22:19:55
7038
2
原创 判断浮点数是否等于0
引用《C++ GUI Qt4编程》第四章的一段话:“While it is generally inadvisable to test floating-point values for equality because of rounding errors, it is safe to test for equality against 0.0 to prevent division by
2013-09-14 23:26:52
4130
原创 确保线程结束之前,传递给线程回调函数的参数的有效性
最近在写一个我把它称为RemoteMedia的东西。其中,服务端程序要创建一个新的进程完成某些工作。而且,这个进程结束后,服务端还要通知客户端。我所想到的方法是,创建这个进程后,保存进程的句柄值。为了及时获得进程的工作状况(是否退出、退出代码为多少)而又不阻塞服务端主线程的运行,我创建一个新的线程,并把这个句柄值作为线程回调函数的实参。按照自己初步想法写完后,满心欢喜去调试,结果出现了Acce
2013-08-26 21:26:24
2347
原创 貌似被空格坑了
最近开始学习Qt了,看的自然是《C.plus.plus.GUI.Programming.with.Qt.4》。在照着书上敲第二章那个GoToCellDlg例子的时候,发现lineEdit一直无法输入内容。GoToCellDialog::GoToCellDialog(QWidget *parent) : QDialog(parent){ setupUi(this);
2013-07-08 23:46:13
1366
原创 用MFC写的小工具:ErrorLookupEx
VC++6.0中附带了一个小工具,名叫Error Lookup。这个小工具能够把Windows内置模块/指定模块中预定义的错误代码翻译成相应的错误描述字符串。刚听说这个工具的时候,感到它碉堡了。后来,看了《Windows核心编程》,知道了实现原理就在于FormatMessage函数。这一段时间,用MFC实现了一下,编写过程中也对Message Table这种特殊资源有了初步了解。同时,也练习了
2013-06-21 21:08:52
1229
原创 C语言实现一个循环移位函数
其实在MSVC中C运行时库stdlib.h提供了两个循环移位的函数:_rotl、_rotr。这里是自己实现的一个循环移位函数,仿照_rotl函数的原型。简单版本:#include #include #include typedef unsigned int uint_t;/*函数名称: rotl(仿照stdlib.h中的_rotl函数)函数功能: 实现无符号整数左循环移位
2012-05-09 00:32:45
11104
原创 Ubuntu 12.04下为火狐浏览器安装flash插件
安装了Ubuntu12.04后,我使用火狐浏览器登录百度文库搜一些介绍curses库的资料,发现浏览器没有flash插件,这时贴心的火狐娘提示我安装缺失插件,于是就按照提示更新插件,在安装向导中,我选择了adobeflash插件。然而等了半个小时,flash插件还没下载完,因为还有其他软件要下载,于是我点击取消下载flash插件,结果过了半个小时还是卡在那里:我想,既然软件中心没法
2012-05-05 20:19:02
1479
1
原创 找到600851475143的最大质因数
http://projecteuler.net/problem=3最开始自己的方法很麻烦,每次运行,都会卡。经过xw_y_am童鞋的点拨:http://tieba.baidu.com/p/1558545720 自己也做出来啦 在此对xw_y_am表示感谢。#! /usr/bin/env python# Filename: po3.pyfrom math import floo
2012-04-30 17:12:59
3116
原创 msys 和 Cygwin
先介绍msys吧。msys: 简单地说就是把一些GNU工具(如:bash、 make、 gawk、grep、gcc)收集到一块,然后重新编译代码,使它们能够在windows下应用。这些小工具通常是一些类似于windwos下的命令提示符的一些外部命令(如:deltree),是尺寸很小的exe,主要在命令提示符下运行,可以在windows自带的命令提示符中运行,也可以使用mintty、或rxvt这
2012-04-12 12:00:39
3519
原创 函数指针练习(C++ Primer第四版)
#include using namespace std;int maxi(int left, int right){ return left >= right ? left : right;}typedef int (*pmaxi)(int, int);int ret_max(int, int, int(int, int));int ret_max(int, int, in
2012-04-11 23:31:13
1295
原创 bitset小练习
#include #include #include #include using namespace std;int main(){ bitset alpha_mask; string strbuf; char tmpch; while (cin >> strbuf) { for (string::size_type index = 0; index != str
2012-04-07 21:37:41
973
原创 使用scanf和fgets需要注意的一个小问题
首先说一个我以前经常犯的小错误:#define BUF_SIZE 260char lineBuf[BUF_SIZE];如果我们想通过fgets函数获得一行输入,下面:1. fgets(lineBuf, BUF_SIZE - 1, stdin)2. fgets(lineBuf, BUF_SIZE, stdin)哪个才是正确的又充分利用了内存空间呢?以前我总写作第一种形式,
2012-03-29 13:59:03
1506
原创 detab v2.0
#-------------------------------------------------------------------------------# Name: detab.py# Purpose: replace the tab character by several whitespace characters# in C/C
2012-03-23 04:48:51
1245
原创 C语言 递归地删除一个指定目录下所有指定类型的文件
/*** del.c** mayadong7349 2012-02-23*/#include #include #include #include #include #include #include #ifndef MAX_PATH#define MAX_PATH 260#endif#define STRCAT(buf, buf_size, str) \
2012-02-23 22:27:37
2274
原创 code viewer
写了个打印文件的小脚本#! /usr/bin/env python3# Filename: codev.pyfrom sys import argvfrom sys import stderrfrom sys import stdoutdef printfile(filename, flag = '-N'): try: hfile =
2011-12-23 04:15:11
1846
原创 nargin
Matlab中nargin介绍功能: 在matlab中定义一个函数时, 在函数体内部, nargin指出了输入参数的个数。 特便是在利用了可变参数列表的函数中, 用nargin获取输入参数个数很方便。语法:narginnargin(fun)相关:varargout、nargout、varargin应用举例function foo(argA, argB, argC, v
2011-12-21 14:36:27
2374
原创 varargout
matlab中varargout简介varargout可以看做“Variable length output argument list”的缩写。在matlab中定义m函数时通过varargout我们可以得到可变个数个返回值。在matlab命令窗口中输入doc varargout或help varargout可以获得相关帮助信息。相关:varargout、nargin、nargout下
2011-12-21 14:35:06
1496
原创 nargout
Matlab中nargout介绍功能: 在matlab中定义一个函数时, 在函数体内部, nargout指出了输出参数的个数(nargin指出了输入参数的个数)。 特便是在利用了可变参数列表的函数中, 用nargout获取输入参数个数很方便。语法:nargoutnargout(fun)相关:varargout、nargin、varargin应用举例function v
2011-12-21 14:15:13
4283
原创 varargin
matlab中varargin简介varargin可以看做“Variable length input argument list”的缩写。在matlab中, varargin提供了一种函数可变参数列表机制。 就是说, 使用了“可变参数列表机制”的函数允许调用者调用该函数时根据需要来改变输入参数的个数。matlab中很多内建函数和工具箱函数都使用了这种机制。 比如图像处理工具箱中的imsh
2011-12-19 23:48:06
3508
原创 请捐助维基百科
今天查RLE时, 看到了维基百科上的呼吁来自维基百科创办者Jimmy Wales的个人呼吁Google有百万台服务器,Yahoo有13,000多名员工。我们有679台服务器和95名职员。 维基百科是世界上排名第五的网站,每月爲4.5亿用户提供服务,有着数十亿的页面阅览量。商业本无过,广告亦非恶。但它们不属于这里、不属于维基百科。维基百科是个特别的地方。它像座图书馆、像座
2011-12-02 12:38:12
2565
原创 RLE
% RLE: Run-Length Encodingclc, close all, clearimg_w = int32(640); img_h = int32(480);h_beg = int32(img_h / 8)h_end = int32(img_h / 8 * 7)w_beg = int32([img_w / 9, img_w / 9 * 3, img_w / 9 *
2011-11-30 14:16:01
5381
原创 使用curl在命令行中下载文件
今天帮同学从一个网站上下载点数据, 但是上面有上百个链接, 一个一个点击下载实在是工作量太大。 于是自己就想找一个命令行下载工具并用Python写一个简单的脚本来替代这些工作。百度了一下, 找到了curlcurl: curl是利用URL语法在命令行方式下工作的文件传输工具。 [百科: http://baike.baidu.com/view/1326315.htm]官网: http:
2011-11-28 13:48:00
10678
原创 C语言创建24位真彩色位图
/* 功能: 创建一幅24位真彩色位图** 作者: mayadong7349** 参考: MSDN(Visual Studio 2005)、(百度百科:bmp) http://baike.baidu.com/view/7671.htm#2*/#include #include #include #define BMP_W 640L#define BMP_H 480Lvoid
2011-11-20 15:06:04
3565
原创 detab.py
这是在《K&R》上看到的一个习题: 用若干个空格替换掉源程序文件中的tab字符 。自己用Python写了个。没考虑文件编码、解码(因为自己并不了解),错误处理也不好。 不过勉强可以工作。# !/usr/bin/env python3# Filename: detab.pyimport osimport sysprint('======================== d
2011-11-19 13:14:26
1036
原创 2011-11-06的MySQL练习
mysql> create database abcs;Query OK, 1 row affected (0.16 sec)mysql> use abcsDatabase changedmysql> create table mytable(name varchar(10), sex char(1), birth date);Query OK, 0 rows affected (0.
2011-11-06 08:39:16
744
原创 异常处理机制
>>> s = input('Enter something --> ') # before you entering something, press Ctrl + D Enter something --> Traceback (most recent call last): File "", line 1, in s = input('Enter something -->
2011-11-04 13:01:04
840
原创 pickle
#!/usr/bin/env python# Filename: pickling.pyimport osos.system("cd 'E:\myd\work\Python'")# import pickle as pimport pickle as plang = ['C', 'C++', 'Python']# the name of the file where we will
2011-11-02 17:49:53
1127
原创 继承
#!/usr/bin/env python# Filename: inherit.pyclass SchoolMember: '''Represents any school member.''' def __init__(self, name, age): self.name = name self.age = age prin
2011-11-02 17:06:43
782
转载 【转】MCI函数与命令
http://blog.youkuaiyun.com/badu_123/article/details/5618755MCI函数与命令Microsoft提供的MMSYSTEM.H文件中定义了调用MCI功能的数据类型和函数原型。在使用MCI功能的任何源模块中都应包含该文件。 1. MCI函数所有的MCI函数名都以mci为前缀。对应于MCI命令消息和命令字符串接口方式,MCI函数也分为两类,即
2011-10-31 00:24:22
1691
原创 图像的离散傅里叶变换
close all, clear, clcwarning off allimg_w = 640; img_h = img_w;xOfCenter = img_w / 2; yOfCenter = img_h / 2;%% DFT of oblique rectangleimg_oblique_rect = zeros(img_h, img_w);% create a oblique(4
2011-10-29 14:45:03
1390
原创 带参宏的“文本替换”(今天的一个错误总结)
先看今天我写的一段代码:debug.h/* debug.h */void CDECL DebugMsgBox(const TCHAR *szFormat, ...);debug.c(可以忽略函数实现部分, 只要看到我使用了可变参数列表就行了)/* debug.c */void CDECL DebugMsgBox(const TCHAR *szFormat, ...
2011-10-25 21:50:19
1433
原创 DirtyAlloc
#include #define OVERLODE_MODE 0#define MAXSIZE 12unsigned char membuf[MAXSIZE];unsigned char *pmem = membuf;unsigned char *invalidmem
2011-10-17 12:34:50
699
原创 使用7-zip备份我的桌面(版本三)
#! /usr/bin/env python3# -*- coding: utf-8 -*-# Filename: ddup.pyfrom os import sep, mkdir, path, mkdir, systemfrom time import strftimedef main(): # 1. The files and directories to be back
2011-10-12 13:11:26
894
窗口控件及字体自适应
2018-05-29
chardet-2.1.1 for python3.x
2013-12-26
charget for Python 3.x
2013-12-26
Visual Basic 6.0简明教程
2011-12-18
Python_精要参考(第二版)
2011-12-02
《人月神话》中文版
2011-11-24
Matlab常用库函数参考
2011-11-09
progfont_1.0.0.1
2011-10-29
C++高效编程:内存与性能优化随书源代码
2011-10-15
MFC编程(MFC Programming with Visual C++ 6)
2011-09-16
MASM6.15(Microsoft Macro Assembler version 6.15)
2011-06-18
HTML教程(图文并茂)
2011-05-19
GTK编程资料(二合一)
2011-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人