- 博客(48)
- 资源 (33)
- 收藏
- 关注
原创 分鱼问题
A、B、C、D、E五个人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三杆,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,保持走自己的一份。C、D、E依次醒来,也按同样的方法拿走鱼。问他们合伙至少捕了多少条鱼?
2014-05-06 21:22:30
1003
转载 the “inner class” idiom
有些时候我们需要upcast为多种类型,这种情况下除了可以使用multiply inherits还可以inner class。以下为例子://: C10:InnerClassIdiom.cpp// Example of the "inner class" idiom.#include #include using namespace std;class Poingabl
2014-04-21 23:25:13
524
原创 初识makefile
初识makefilemake是常用的一个管理工程编译的工具其基本用法是:1、make,使用makefile作为规则文件2、make -f mf,使用mf作为makefile3、make all,make clean 指定目标4、make CPP=g++ 宏定义替换make的重点在makefile的内容0、基本格式
2014-03-09 16:11:34
555
原创 postgresql 免安装版使用
免安装版 postgresql 使用1、首先使用 initdb 初始化数据目录initdb --pgdata=data --encoding=UTF8 --locale=C2、启动postgres -D "data"pg_ctl -D "data" -l logfile.log startpg_ctl -D "data" -l logfile.log stop
2014-02-28 21:41:47
1506
原创 python备份mysql数据库
介绍使用python结合mysqldump对mysql数据库进行备份import osimport sysimport configparserimport timedef test_file_path(fp): if not os.path.exists(fp): raise RuntimeError('file {} not found'.format(fp))
2014-02-12 22:26:16
713
原创 python解析ini文件
python解析ini文件使用configparser — Configuration file parsersections() add_section(section) has_section(section)操作sectionoptions(section) has_option(section, option) 操作itemsread(f
2014-02-12 22:15:15
1009
原创 python中的zipfile
zipfile — Work with ZIP archivesZipFile.namelist() Return a list of archive members by name.返回压缩成员名称列表with ZipFile('spam.zip', 'r') as myzip: for f in myzip.namelist(): print(f
2014-02-11 23:19:44
1132
原创 迭代器之输入和输出迭代器
输入迭代器:只能前向读取的迭代器,支持++,不能--输出迭代器:只能前向写入的迭代器,支持++,不能--这两种迭代器最简单,基本只能读取/写入一次例子: #include #include #include #include using namespace std;template void print_range(Iter begin, I
2013-10-18 21:13:05
1454
转载 C语言正整数除法向上取整
在网上发现一个简单的向上取整方法;这里我们用我们可以证明:=[(N-1)/M]+1 (0不失一般性,我们设N=Mk+r(01)当r>0时,左边:===k+=k+1右边:[(N-1)/M]+1=[(Mk+r-1)/M]+1=[k+(r-1)/M]+1=k+1+[(r-1)/M]=k+12)当r=0左边:=k右边:[(N-1)/M]+1=[(Mk-1)
2013-08-04 23:55:35
2332
翻译 ABI边界的可移植性
在二进制接口边界应该使用足够可移植的类型和惯用法。可移植类型指C的内置类型或只含有C内置类型的结构体(struct)。Class类型只有在调用方和被调用方在内存布局和调用约定一致的情况下才可以使用,这通常只有在双方使用同样的编译器和编译选项的情况下才成为可能。如何使一个class转化为可移植的C等价物 当调用方可能被另一种编译器或语言编译的时候,使用一定的调用惯例将class"
2013-06-15 21:26:56
745
原创 chapt16、线程堆栈
这里的堆栈指的就是栈 Stack线程堆栈默认大小是保留1M,初始提交2个页面,如8KB,1读写,1具有PAGE_GUARD保护属性堆栈扩展的时候,会因为保护属性触发异常,线程根据这个自动增长2000的堆栈在Win2000里,最后一个页面不会被用到,会被最终标记reserve,当提交到倒数第二个页面的时候,会触发EXCEPTION_STACK_ OVERFLOW,虽然这还
2013-05-15 21:35:32
734
原创 chapt15、使用虚拟内存
windows提供了三种操作内存的机制:Virtual memory:适合用来操作大对象/结构数组Memory-mapped files:适合操作文件流,或用来在同一台机器的不同进程之间用来共享数据Heaps:适合用来管理大量的小对象地址保留--Reserving a Region in an Address Space PVOID VirtualAlloc( PVO
2013-05-14 21:38:49
701
原创 chapt14、探索虚拟内存
探索windows的内存管理和进程的虚拟地址空间获取系统信息--System InfoVOID GetSystemInfo(LPSYSTEM_INFO psinf);typedef struct _SYSTEM_INFO { union { DWORD dwOemId; // Obsolete, do not use struct {
2013-05-11 10:04:48
824
原创 chapt13、Windows内存结构
每一个process具有自己独立的虚拟地址空间在32位机器上是4GB:0x00000000 - 0xFFFFFFFF在64为机器上是16EB:0x00000000'00000000 - 0xFFFFFFFF'FFFFFFFF地址空间是分区域的,一般如下:NULL-Pointer Assignment:空指针区域,访问这个地方的地址会产生 memory access viol
2013-05-07 07:52:14
675
原创 修改mysql密码
1、首先启动mysqld,无授权验证模式,为了安全,将监听地址bind在localhostcmd>mysqld --skip-grant-tables --bind-address=localhost2、运行mysqlcmd>mysqlWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL co
2013-02-24 11:29:49
359
原创 get files version by vbs
获取某目录下所有dll/exe的文件版本信息Function IsPEFile(fn) IsPEFile = (Right(fn, 4) = ".dll" or Right(fn, 4) = ".exe")End FunctionDim g_txtFileFunction walkDir(folderspec) Dim fso, f, f1, sf
2013-01-11 18:06:58
388
原创 python 解析xml
使用python解析xmlpython自带了几种解析方法 xml.parsers.expat、xml.dom、xml.etree.ElementTree、xml.sax等这里介绍xml.dom和xml.etree.ElementTree示例文件: Text goes hereMore text 中文说明 ElementTree解析#!/us
2012-12-28 19:08:44
1163
原创 使用Memory DC
memory dc的目的是为了提高绘制速度,先把东西准备到内存上,在一次性的绘制到真正的dc上。详细的解释可以查看MSDN 典型代码如下:CDC* pDC;CDC m_dcMem;CBitmap m_bitmap;CBitmap m_scaleBitmap; m_bitmap.LoadBitmap(nIDResource);if (m_dcMem.m_hDC ==
2012-12-07 17:18:19
601
原创 VC使用中一些常见问题
1、在线程里直接操作界面,容易导致死锁2、删除了不该删除的指针,如栈对象指针,导致heap error3、栈对象被破坏,内存越界,stack error
2012-11-15 21:09:10
389
原创 sqlite3.OperationalError: Could not decode to UTF-8 column XXX with text '***'
环境:python3.2 sqllite3代码如下:import sqlite3 as sqlconn = sql.connect(r'c:\setupinfidb.db', detect_types=sql.PARSE_COLNAMES)c = conn.cursor()c.execute('select * from setuplog')for row in c:
2012-11-13 17:19:12
4145
原创 python访问数据库
python 访问数据库基本流程:1、建立连接 conn = xxx2、获取cursor c = conn.cursor()3、执行sql语句 c.execute()4、获取结果 c.fetchone() 或 c.fetchall() 返回单条数据或结果集 或 提交 conn.commit()5、关闭连接 conn.close()
2012-11-13 17:16:50
431
原创 默认构造函数
#include using namespace std;class CTest {public: CTest(void) { cout << "ct of CTest called" << endl; }};int main(){ CTest t1; CTest t2(); return 0;}代码如上,一直认为 line 16 也会调用默认构造函数,最近
2012-07-01 17:21:55
329
原创 initialization of xxx is skipped by xxx
使用case或goto语句时,有时会碰到如下提示:vc2008:initialization of xxx is skipped by xxxgcc:crosses initialization of xxx以case为例:int main( void ){ int a = 2; switch (a) { case 0: in
2012-04-07 13:06:36
850
原创 cent os 5.5 安装
cent os 5.5 安装================================================dvd光盘安装,一路下一步就好了安装时没有图形界面,可能是os版本老了,换新的好了,不支持那台机器的显卡也可以硬盘安装,但要提前引导的,iso镜像不能放在ntfs分区,安装时无法识别ntfs分区,可以放在fat32分区,但是fat32分区又有4G的限制,也可以
2012-02-15 20:47:29
757
原创 VC程序启动时隐藏主窗口
有些时候,GUI程序启动时,可能不希望显示主窗口。 以下基于MFC程序 在代码中加入如下代码即可void CXXXDlg::OnNcPaint(){ // TODO: Add your message handler code here // Do not call CDialog::OnNcPaint() for painting messages
2012-02-08 12:57:38
447
原创 使用VC进行调试
1、函数断点对于没有代码的函数,可以根据函数名称下断点CreateFileWkernel32.dll!_CreateFileW@28() - 0x48 bytes // 观察函数 call stack> kernel32.dll!_CreateFileW@28() + 0x2 bytes显示命令窗口:Ctrl+Alt+A 或者 View=>Other Windows=
2012-02-05 13:33:28
384
转载 获取调试符号文件
摘自: http://support.microsoft.com/kb/311503/zh-cn使用 Symbol Server 技术Microsoft Symbol Server 是使用随 Debugging Tools for Windows 软件包一起提供的 SymSrv 技术 (SymSrv.dll) 构建的。SymSrv 会生成本地符号高速缓存,以进行快速、自动的符号解析。
2011-12-08 22:34:14
701
原创 HEAP: Free Heap block XXXX modified at XXXX after it was freed 的处理
HEAP: Free Heap block XXXX modified at XXXX after it was freed 的处理环境:Windows XP SP3,VC2008在开发过程中,偶尔会遇到程序提示 HEAP异常的情况以下讨论限于Debug模式常见提示如下vc的输出窗口提示:翻译过来就是 某个已经释放的堆空间被修改了,就是某块动态申请(malloc
2011-12-01 22:38:33
3189
转载 VC6绿色版中英文双版
vc6 绿色版含中英文双版使用时先运行绿化.bat在运行 英文版.bat 或 中文版.bat 就可以得到英文版或者中文版了下载链接:http://download.youkuaiyun.com/detail/xkxjy/3653190
2011-10-02 11:18:11
809
原创 Visual C++ Runtime Error 调试
程序偶尔会出现:Microsoft Visual C++ Runtime Library Runtime Error! Program: [APPPATH] Abnormal program termination同时带有红色叉叉的对话框。 打开VC,附加对应的进程,在线程选项卡里查找类似MessageBox的字样,找到的那个就是弹出对话框的线程,右键,转到线程,查看调用堆栈,
2011-06-10 23:41:00
1024
原创 让程序崩溃时自动写minidump
<br />首先在合适的地方调用<br />LPTOP_LEVEL_EXCEPTION_FILTER pOdk = SetUnhandledExceptionFilter(MyUnhandledExceptionFilter);<br /> <br />MyUnhandledExceptionFilter的实现如下:<br />LONG WINAPI MyUnhandledExceptionFilter( __in struct _EXCEPTION_POINTERS* Except
2011-04-01 20:09:00
744
原创 HEAP: Free Heap block XXXX modified at XXXX after it was freed
开发过程中,有时候会遇到堆异常的情况HEAP: Free Heap block 39b998 modified at 39b9c0 after it was freed
2011-02-28 12:46:00
3122
原创 磁盘操作 API
<br />// 获取磁盘属性<br />BOOL WINAPI GetVolumeInformation(<br /> __in LPCTSTR lpRootPathName, // 路径(带backslash),如"C:/"<br /> __out LPTSTR lpVolumeNameBuffer, // 磁盘名称Buffer<br /> __in DWORD nVolumeNameSize,
2011-02-24 21:09:00
553
博客代码_CrtMemTest_20111201
2011-12-01
博客代码_MacroTest_20110226
2011-02-26
Programming Applications for Microsoft Windows
2011-01-05
AutoIt_2.64
2010-04-13
Core C# and .NET
2009-05-16
C Sharp Language Pocket Reference
2009-05-12
Windows Driver Model_1999_cn
2009-04-13
Windows via C/C++_5ed_en
2009-04-13
Accelerated C++ Practical Programming by Example
2009-02-28
三十分钟掌握STL《using stl》
2009-02-28
UNIX网络编程(第2版)第1卷part3
2008-04-25
UNIX网络编程(第2版)第1卷part2
2008-04-25
UNIX网络编程(第2版)第1卷part1
2008-04-25
C程序设计语言(英文)
2008-04-25
C++Templates(繁体中文)
2008-04-25
C++Templates(繁体中文版)
2008-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人