- 博客(16)
- 资源 (3)
- 收藏
- 关注
原创 封装的好处
以前总是体会不到封装的好处。看书或者向他人咨询时,得到的答案都是:封装后可以修改类的内部实现,而无需修改使用了该类的客户代码;封装后可以对成员进行更精确的控制,例如将某个成员设置为只读的。但是这些都是理论,没有切身感悟。 最近在修改代码时遇到了一个相关问题,对封装的好处有了初步的体会。 假设现在有这样一个类: class Man { public: string name; st
2012-11-01 14:57:58
1963
原创 Qt vs 插件问题
在VS2010中使用Qt,安装Qt插件时,遇到以下错误: couldn't register all Qt4VSAddin commands; 我用Google搜索,寻找到一个解决方案: As a workaround you can call "C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bin\gacutil.exe" -i "C:\Pr
2012-05-28 18:50:21
1104
2
原创 一个诡异的“无法解析的外部符号”问题
最近在写Qt程序时,遇到一个诡异的“无法解析的外部符号”问题。单说“无法解析的外部符号”,并不怎么诡异,这一般是由于两个原因: 1.你声明的一个函数,在未实现它的情况下调用了它; 2.你调用了一个库函数,却没有包含对应的.lib文件。 我在这里用了诡异一词,说明我这次遇到的问题不在以上两种情况之列。 我的函数声明是这样的: namespace Http { ...
2012-04-04 22:50:46
3441
原创 Qt无法打印中文的问题
1.工程从vs环境移植到Qt后,每次打开文件都会提示:当前编码无法解析文本,若想编辑文件,请重新选择编码。这样一来非常麻烦。 于是我就找,有没有办法可以一次性设置整个工程的编码呢? 经过多次摸索,终于让我找到了。 在Qt Creator左侧栏里,有一项“项目“,选择该项; 然后,选择选项卡“编辑器设置“; 点击“全局“,选择为“自定义“,现在该窗口原本灰色的
2012-03-06 11:00:40
1150
原创 Ubuntu下的Qt库编译和环境变量设置
一、静态编译Qt: 最近项目要移植到Linux平台上,于是要把Qt在Linux上重新编译。 1. 首先配置一些编译Qt要用到的程序,使用以下命令: sudo apt-get install build-essential libpcap0.8-dev libx11-dev libfreetype6-dev libavahi-gobject-dev libSM-dev libXrend
2012-03-03 11:59:00
4211
1
原创 使用vc工具从dll导出lib
从开始菜单中的VS->Visual Studio Tools->VC命令提示,进入命令行。 先将dll函数表导出的定义文件(.def),输入命令: dumpbin name.dll /exports /out:out.def [注:name.dll是你要导出的dll路径,out.def是导出后def文件的路径] 用文本编辑工具打开.def文件(最好是使用有列模式的工具,如UltraEdit
2011-10-26 14:53:50
2550
原创 MSDN 常用笔记
为避免有时查看MSDN时因用的关键字不精确,常常花费很多时间才能找到,现在将一些内容记录在这里以备查阅。 1.Windows 文件系统路径长度: Maximum Path Length Limitation In the Windows API (with some
2011-09-30 15:47:11
347
原创 设置vs2008代码区的背景色
编写程序、调试代码时,是不是感觉文字的白色背景有些刺眼呢?vs2008 给我们提供了改变背景色的功能。 依次展开:工具->选项->环境->字体和颜色,可以看到下图所示设置框。 首先,在图中标记的“显示项”一栏选择“纯文本”,然后在“项背景色”那里,选择自定义,定义为自
2011-09-29 16:25:55
7557
2
原创 c 文件操作函数
刚开始学习C语言的文件操作函数,有些疑惑的地方,查资料明白了,写在这里以备查询,同时给有需要的朋友分享。 1.fwrite() 函数: 该函数原型如下: size_t fwrite( const void *buffer, size_t size, s
2011-09-27 13:44:20
475
原创 运行程序后自动退出的一种解决方案
有时候运行一些大程序,特别是在虚拟机中运行游戏程序时,会出现屏幕黑一下然后自动退出的情况。 这种情况有时是由于内存不足引起的,因为大型游戏需要占用较多的内存,而虚拟机的资源又十分有限。 如果你也遇到了这种情况,可以试着增加虚拟机的内存分配,或者将程序移出虚拟机,让它在本机上运
2011-09-21 11:37:29
731
原创 VS 2008 设置项目自动生成
在使用Visual Studio 2008开发项目的时候,默认情况下当你调试或运行程序时,会弹出对话框来询问你“项目已过期,是否生成?”。 很多朋友感觉麻烦,就勾选了“不再提示”,这样一来,确实不会再弹出提示框,但可能你勾选的时候,误点了“否”,也就是不自动生成解决方案。 不
2011-09-20 16:33:06
723
原创 递归地删除目录
写程序时用到一个删除目录的功能,但C库函数提供的_rmdir() 只能删除空目录,在网上搜索了一下也没得到满意的答案,于是就自己写了个小程序,递归地删除目录下的内容,最后删除目录本身。 主要用到了以下函数: _access(); /*判断目录是否存在*/ _chdir(
2011-09-17 15:00:14
716
原创 使用_findfirst和_findnext遍历目录
最近在学习文件操作,用到了_findfirst() 和_findnext() 两个函数,写了个小程序,输入一个目录名,输出它下面的文件和目录。 主要用到了这么几个CRT函数: _access(); /*判断文件或文件夹路径是否合法*/ _chdir(); /*切换当前工作目
2011-09-17 14:28:18
5848
1
原创 设计模式----Strategy pattern
从 Effective C++ 一书中了解到了Strategy pattern (策略模式),这种模式的思想是,提供一组不同的处理函数,以此来实现面向对象中虚函数的功能。 在策略模式中,这组处理函数接收一个类对象的 const& ,做出处理并返回值。类中包含一个 private
2011-09-07 20:55:36
310
原创 使struct对象拥有可变大小的数组
首先摘录《Inside The C++ Object Model》中的一段话: 把单一元素的数组放在一个struct的尾端,于是每个 struct objects 可以拥有可变大小的数组: struct mumble { char pc[1]; }; //获取一
2011-09-05 13:31:23
1282
1
开机启动Everything
2013-01-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人