2011-11-21 2:19:39 阅读5 评论0 212011/11 Nov21
1.从网站下载了sqlite3 ,解压后放在D:\sqlite.里面有三个文件,分别是:sqlite3.def,sqlite3.dll,sqlite3.exe。
1).sqlite3.def: 用于编译生成相应的LIB文件
2).sqlite3.dll:提供sqlite所需的动态链接库文件。
3).sqlit3e.exe:执行文件,用于执行数据库操作
2. 示例:
1)。打开一个cmd程序,进入sqlite目录,执行:
d:\sqlite>sqlite3.exe my.db -->创建一个数据库文件my.db
sqlite3>.help -->
sqlite3>.width [column1_max_width] [column2_max_width] .....
2011-7-24 16:23:13 阅读31 评论0 242011/07 July24
交叉编译qt-4.4.3
交叉编译qt-4.4.3的步骤,记录下来
我的开发环境:
【交叉编译器】:cross-3.4.1
1.编译前的一些准备工作:
/usr/local/qt
在终端中执行:
#mkdir /usr/local/arm
qt-embedded-linux-opensource-src-4.4.3.tar.gz
1)解压cross-3.4.1.tar.bz2
#cd /usr/local/arm
2011-7-11 19:29:53 阅读74 评论0 112011/07 July11
问题1
./Helloworld -qws
./Helloworl: error while loading shared libraries: libQtGui.so.4: cannot open sharedobject file: No such file or director
解决:修改/etc/profile 、/mnt/etc添加环境变量
export LD_LIBRARY_P
2011-5-23 18:48:25 阅读260 评论0 232011/05 May23
2011-5-6 21:33:57 阅读153 评论0 62011/05 May6
VC++中关于全局量的定义有两种比较好的方法。
第一种
新建一个Generic Class类,如CGlobals。会产生一个Globals.h头文件和一个Globals.cpp文件,在ClassView中会产生一个CGlobals类。由于主要目的是利用产生的.h和.cpp文件,所以,将两个文件中关于类声明和定义的部分都删除或注释掉,但保留其他语句,此时ClassView中的CGlobals类消失。
对于全局结构体定义,首先在Globals.h头文件中构造结构体,用typedef方式,如:
typedef struct tagLineType
{
int ID;
CString Type;
2011-4-24 18:04:03 阅读68 评论0 242011/04 Apr24
如:
#define example(instr) printf("the input string is:\t%s\n",#instr)
#define example1(instr) #instr
当使用该宏定义时:
example(abc); 在编译时将会展开成:printf("the input string is:\t%s\n","abc");
string str=example1(abc); 将会展成:string str="abc";
注意:
对空格的处理
2011-1-9 8:51:41 阅读572 评论0 92011/01 Jan9
1.VS2008
2.qt-vs-addin-1.1.7.exe(其他版本也可)
3.qt-win-opensource-4.6.3-vs2008.exe
安装过程:
1.安装VS2008(可以选择默认路径)
2.安装qt-win-opensource-4.6.3-vs2008.exe(我选择路径D:\Qt\4.6.3)
3.安装qt-vs-addin-1.1.7.exe(不需要考虑QT,可以选择默认路径)
4.配置QT环境变量,控制面板->系统->高级->环境变量,在“系统变量”这个组合框中,找到“Path”变量,在"Path"的最后面添加"D:\Qt\4.6.3\bin\"
5.开始 ->
2010-9-22 17:28:44 阅读68 评论0 222010/09 Sept22
2010-9-14 21:41:32 阅读306 评论2 142010/09 Sept14
一、为什么使用双缓冲图形刷新技术
双缓冲图形刷新技术能解决绘图时屏幕闪烁的问题。
很长一段时间我一直认为绘图过程中出现的屏幕闪烁是图形刷新速度过快而造成的(相信有很多朋友也跟我一样有这样的想法),但是通过编写一些绘图程序,我发现事情并非如此,至少刷新速度快不会是造成屏幕闪烁的根本原因。这个问题可以通过下面的两个试验进行说明。
1、编写一个刷新速度很慢的应用程序,可以设计为通过点击鼠标来进行屏幕刷新。通过该试验可以发现即使屏幕的刷新速度很慢,但是在每次刷新的时候仍然存在屏幕的问题,只是闪烁不是很明显。
2、编写一个刷新速度很快的应用程序,并在程序中应用双缓冲图形刷新技术。通过该试验可以发现虽然屏幕刷新速度很快,但是采用了双缓冲图新刷新技术以后,屏幕不存在闪烁。
屏幕闪烁的根本原因是相邻两帧图像之间存在的巨大差异造成的,而windows
2010-9-10 22:04:49 阅读672 评论0 102010/09 Sept10
在VC++ 6.0中:
OnInitDialog()函数是个virtual(虚函数),在它的类中用添加虚函数的方法,会发现添加的虚函数里面没有这个函数,而这个OnInitDialog函数是很有用的,在一般的添加进去的对话框的类中是不会有这个函数的,必须手工增加进去,当然不用手工写代码,至于用手工写代码是否可行,还不知道,至少我这个菜鸟还是不行的.可以通过VC加进去,而要加的这个函数的名字不是OnInitDialog,所以很难找到.其原因是因为要加的函数是WM_INITDIALOG.
这个函数的添加方法是这样的,选择要加入函数的对话框,右键->ClassWiZard(类向导)->Message Maps(消息映射),对象里面选择对话框,Messages(消息)里面选择WM_INITDIALOG,然后点Add