比起前段时间来,焦躁的心缓解很多了。
下午接到了SII的电话,可以说基本确定了。
回想起来,自己的命运总是在坎坷之中,不论高考还是中考,总是离梦想偏差的很远。
有段时间已经放弃了自己,开始堕落了,但幸运的是遇到了ZL大牛,似乎遇到ZL大牛之后就改变了,似乎也知道努力是怎么一回事了,知道怎么样才算是真正的努力。
如果没有努力,就算再怎么运气好也是把握不到机会的。
感谢努力,感谢运气,感谢ZL和小狼,一个教诲了我努力,一个给予了我机会。
2009-11-30 17:11 | 分类于 生活 | cnnbboy
从来没想到自己会进入这样一种患得患失的心态,可以说,心态非常不好。
虽然还是严格地每天学习着知识,但是心里就不住地回去想,我,真的能进入SII么?
虽然上海之行交流的还可以,而且从对方的态度来说,以及小狼肯定的语气来说,还有忍不住问了对方后得到的答复,似乎现在就是已经在走流程了。
但仍然觉得这似乎就像一场梦,我,一个不知名的学校出来的三批的CS专业的学生,能进SII,去搞自己一直向往的技术研究?
复杂焦急的心态在这段日子一直伴随着了,似乎感觉也失衡了。说实话,对于自己的研发能力,还是知根知底的,似乎还不错的样子,但是,缺乏大量的实践 项目开发,缺乏宝贵的经验,也许在coding上没有问题,但是在project的层次上,是明知有问题,可不知道问题在哪里。
努力地矫正自我的心态,不管SII最后是否能进去,本身的努力绝对是不能放弃的。如果能进去,加快实现梦想的步骤,那是最好的,如果不能,我要记住,是实力不够,是自己的问题。我依旧要像ZL等大牛一样,忘我学习,才有机会去实现心里那宝贵的梦想。
SII的offer,会到来么?
2009-11-28 0:09 | 分类于 生活 | cnnbboy
学习一样事物的第一步,就应该先知道这样事物是什么,学习Qwt同样也是如此。作为一项不是特别大众的技术,与Java和.net相比,Qt使用的人数可以说是相当稀少的,同时对应,相关的技术资料的数量也同样不错,而且深度也不够。
因此,Qwt的大多数资料只能从它的官网上获得:http://qwt.sourceforge.net/
在上面,对于Qwt有了详细的定义:
The Qwt library contains GUI Components and utility classes which are primarily useful for programs with a technical background. Beside a 2D plot widget it provides scales, sliders, dials, compasses, thermometers, wheels and knobs to control or display values, arrays, or ranges of type double.
Qwt库包含GUI组件和公共的类,主要目标用于技术领域的编程。除了2D的容器部件外,还提供了刻度线,滑动条,仪器刻度表,指南针,温度计,控制显示值的轮转控制器和旋钮,数组或浮点数范围的数据源。
简单一句话概括,Qwt是基于Qt开发的第三方库,提供了一组绘制科学绘图的2D部件。由于是采用Qt开发的,所以也继承了Qt的夸平台特性。目前 为止,笔者已经在WindowsXP,Ubuntu Linux和嵌入式Linux上成功地运行了Qwt相关程序,证明了Qwt也同样具有跨平台特性。
在实际开发方面,Qwt是基于LGPL版权协议的开源项目,对于商业开发来说,是十分宽松的协议,可以放心地应用于实际商业项目中。不过,作为非盈利的开源项目,自然就没有所谓的技术支持,一旦出现问题全部要靠开发者自行解决。
目前Qwt的稳定版本为5.2.0,作为一个比较完善成熟的Qt第三方库,如果能够花较短的时间来掌握,对于未来的项目开发或者目前的Qt学习,都是有莫大的好处的。
2009-11-24 10:35 | 分类于 Qt学习 | cnnbboy
萌生想好好写某方面知识体程的笔记很久了,长期以后,虽然不断地学习了很多知识,熟练了很多知识,但是却在事后没有好好整理。过了一段时间,发现生 疏了,于是很无奈地再去翻书,再去回忆。这一方面是个人懒散的性格使然,另一方面更主要的是,其实并没有真正把知识融汇贯通,没有形成自己的体系。
俗话说的好,好记性,不如懒笔头,当然自己写的字有时自己都看不下来,想了想,学习还是共享的好,放在blog上,既可以作为大家查考的资料,也可 以作为自己以后温书的笔记。计算机编程的知识是无限的,而人的一生是有限的,我想能在有限的一生学点自己感兴趣的东西,作出几个能让大家都记住的软件,人 生也就有了存在的价值。
当然,心里抱着一丝奢望,假如写的这些杂七杂八的笔记能有一天整理出书,那真是更加让人开心的事。有时,翻翻国内的技术书,真的很让人无奈,譬如 Qt,除了一本C++ GUI 编程 with Qt4和精通Qt4编程勉强可以入目,其他的书真是无法言喻。不能说作者不想好好写,但有时错字连篇,排版糟糕,真是难以想象是经过复杂的流程出版出来。
自己曾经经历过找资料的困难程序,越是不流行的技术就越少,有时官方文档里也不是说的很清楚,每当这时,看着满眼的英文,就无比痛恨没有好好学英语。现在已经慢慢渡过看文档的困难期,回想以前,也希望能够帮助正处在苦难中的广大技术人员能早日的掌握Qt,掌握Qw
2009-11-23 19:56 | 分类于 Qt学习 | cnnbboy
序
第0章 筑基-背景知识
第1章 开光-Qwt的安装
1.1 Qwt在Linux下的安装
1.2 Qwt在Windows下的安装
1.3 Qwt移植到嵌入式Linux上
1.4 整合Qwt至QtCreator
第2章 融合-Qwt入门
2.1 hello Qwt
2.2 简单的曲线
2.3 各式各样的曲线
2.4 会动的各种曲线
第3章 心动-基本的Qwt部件
3.1 万物基础QwtPlot
3.2 显示信息QwtTextLabel
3.3 琳琅满目各种仪器部件
第4章 灵寂-创建一个柱状图程序
4.1 子类化QwtPlotItem
4.2 数据来源的生成
4.3 重载绘图事件
4.4 完整的柱状图显示
第5章 金丹-Qwt的数据
5.1 基本数据QwtData
5.2 双重数据QwtArrayData
5.3 间隔数据QwtIntervalData
第6章 元婴-Qwt的事件
6.1 Qwt事件类型QwtEventPattern
6.2 键盘事件
6.3 鼠标事件
第7章 出窍-Qwt与数据库链接
第8章 分神-Qwt的小技巧
第9章 合体-实战Qwt完成一个小项目
第10章 渡劫-Qwt的第三方应用
9.1 两极坐标部件库QwtPolar
9.2 3D部件库QwtPlot3D
9.3 数据分析和科学容器软件QtiPlot
第11章 大乘-Qwt全部类目录
大概的Qwt学习计划大纲,目前先以最基本的的入手,然后深入,目前Qwt学习,先完成已有的目录,只是初稿,随时调整大纲。
2009-11-18 11:27 | 分类于 Qt学习 | cnnbboy
前言:非常漫长的过程,没有什么技术上的难点,关键在于细心。
摘要:在友善之臂QQ2440 ARM9开发版上移植了最新的qt-embedded-linux-opensource-src-4.5.1,并且使用了tslib1.4,总结下移植过程和出现的问题。
正文:
首先要有配置好的环境,本文使用的编译环境如下:
主机系统:Ubuntu 8.04
主机编译器:gcc 版本 4.2.4 (Ubuntu 4.2.4-1ubuntu4)
交叉编译器:arm-linux-gcc-3.4.1
软件资源:
qt-embedded-linux-opensource-src-4.5.1.tar.gz
qt-x11-opensource-src-4.5.1.tar.gz
移植过程:
平时程序都是在PC上完成的,所以我们需要先安装X11版的Qt来获得qvfb这个工具。嵌入式的开发有了qvfb,就可以不需要实际的开发板,也可以开发Qt应程序。
qt-x11-opensource-src-4.5.1编译安装过程:
1.解压文件
将qt-x11-opensource-src-4.51.tar.gz复制到/root/local/qt目录下,进行解压,在终端中进行如下操作:
#cd /root/local/qt
#tar zxvf qt-x11-opensource-src-4.5.1.tar.gz
解压完成后,得到/usr/local/qt/qt-x11-opensource-src-4.5.1目录。下面就开始进行编译了。
2.编译及安装qt-x11-opensource-src-4.5.1
进入/usr/local/qt/qt-x11-opensource-src-4.5.1目录,进行编译安装。在终端中进行如下操作:
#./configure –qvfb
#make
#cd tools/qvfb
#make
#cd ../..
#make install
3.复制文件
make install完 成后,会在/usr/local目录下生成一个Trolltech目录,形成/usr/local/Trolltech目录,这是qt-x11- opensource-src-4.5.1安装后所在的目录,进入/usr/local/Trolltech会看到一个Qt-4.5.1的目录,将 /usr/local/qt/qt-x11-opensource-src-4.5.1/tools/qvfb目录下的qvfb相关文件拷贝到/usr /local/Trolltech/Qt-4.5.1/bin目录下,在终端中操作(确定当前目录是/usr/local/qt/qt-x11- opensource-src-4.5.1):
#cp tools/qvfb/qvfb* /usr/local/Trolltech/Qt-4.5.1/bin
qt-embedded-linux-opensource-src-4.5.1编译安装过程,为了程序开发的便捷性,我安装了x86版和arm版,先在PC上使用x86版和qvfb开发,完成以后再使用arm版交叉编译放到开发版上运行。
X86版安装过程:
1.解压文件
将 qt-embedded-linux-opensource-src-4.5.1.tar.gz复制到/root/local/qt目录下进行解压,解压 完成后,得到/usr/local/qt/qt-embedded-linux-opensource-src-4.5.1目录。将qt- embedded-linux-opensource-src-4.5.1重命名为qt-embedded-linux-opensource-src- 4.5.1-x86。再解压一下qt-embedded-linux-opensource-src-4.5.1.tar.gz,并重命名为qt- embedded-linux-opensource-src-4.5.1-arm,在终端中进行操作:
#cd /root/local/qt
#tar zxvf qt-embedded-linux-opensource-src.tar.gz
#mv qt-embedded-linux-opensource-src-4.5.1 qt-embedded-linux-opensource-src-4.5.1-x86
#tar zxvf qt-embedded-linux-opensource-src.tar.gz
#mv qt-embedded-linux-opensource-src-4.5.1 qt-embedded-linux-opensource-src-4.5.1-arm
2.编译及安装qt-x11-opensource-src-4.5.1-x86
进入/usr/local/qt/qt-x11-opensource-src-4.5.1-x86目录,进行编译安装。在终端中进行如下操作:
#cd /usr/local/qt/qt-x11-opensource-src-4.5.1-x86
#./configure -qvfb
#make(或gmake)
#make install(或gmake install)
OK,qt-x11-opensource-src-4.5.1-x86就编译好了。
3.编译及安装qt-x11-opensource-src-4.5.1-arm
安装这个是最为关键的,因为编译好后要把lib拷贝到板子上
对于触摸屏幕,我使用的是tslib1.4
交叉编译tslib过程如下:
解压到/home下
#./autogen.sh
#./configure --prefix=/home/duancp/mytslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes (可以先生成个cache文件)
#make
#make install-strip //生成瘦身应用程序和库
编译qt-x11-opensource-src-4.5.1-arm
进入/usr/local/qt/qt-x11-opensource-src-4.5.1-arm目录,进行编译安装。在终端中进行如下操作:
#./configure "
-release "
-shared "
-fast "
-no-largefile "
-qt-sql-sqlite "
-no-qt3support "
-no-xmlpatterns "
-no-mmx "
-no-3dnow "
-no-sse "
-no-sse2 "
-no-svg "
-no-webkit "
-qt-zlib "
-qt-gif "
-qt-libtiff "
-qt-libpng "
-qt-libmng "
-qt-libjpeg "
-make libs "
-nomake tools "
-nomake examples "
-nomake docs "
-nomake demo "
-no-nis "
-no-cups "
-no-iconv "
-no-dbus "
-no-openssl "
-xplatform qws/linux-arm-g++ "
-embedded arm "
-little-endian "
-qt-freetype "
-depths 16,18 "
-qt-gfx-linuxfb "
-no-gfx-transformed "
-no-gfx-multiscreen "
-no-gfx-vnc "
-no-gfx-qvfb "
-qt-kbd-usb "
-no-glib "
-qt-mouse-tslib -I/home/cnnbboy/opt/include -L/home/cnnbboy/opt/lib
之所以裁剪那么多参数,是因为开发版空间有限,只要完成我所需要的功能就可以了,之后配置环境变量,我的配置如下:
export QTDIR=/qq2440
export T_ROOT=/tslib
export PATH=$QTDIR/bin:$PATH
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal
export QWS_MOUSE_PROTO=tslib:/dev/input/event0
export LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib
最后,运行qt的测试程序成功,移植OK了。
出现的问题:
运行测试程序中说缺少librt.so.1 ,libstdc++.so.6 ,libgcc_s.so.1这三个文件,这是因为交叉编译的环境不同,从主机上交叉编译器离得库里拷贝过去即可。
参考资料:
[1]http://cgy136652.blog.163.com/blog/static/36168728200932410649487/
[2]http://blog.chinaunix.net/u2/86708/showart_1924834.html
[3]http://blog.chinaunix.net/u2/75270/showart_1793535.html
[4]http://blog.chinaunix.net/u1/39383/showart_1853496.html
[5]http://www.isongzi.com/2009/05/23/qt-configure/
[6]http://read.pudn.com/downloads78/sourcecode/embed/296243/%E7%94%A8tslib%E6%A0%A1%E5%87%86%E8%A7%A6%E6%91%B8%E5%B1%8F%EF%BC%88%E6%88%90%E5%8A%9F%EF%BC%89.rtf__.htm
2009-11-16 12:47 | 分类于 Qt学习 | cnnbboy
其实不知是抱着怎么样的心情来开博,很复杂,也许只是想写点什么,也许也是其他什么。一直想有个能纪录技术的博客,用过其他博客,但总觉缺少什么。
工作以后,激情少了点,稳重多了点,但失去了大学的ACM梦想,却慢慢地找到了新的目标和新的梦想,似乎生活慢慢地步入正规,早上起来,正常地吃早饭,去上班,下班,看书,然后到双休日,去读在职的研究生。这生活,简单却艰苦,让我疲惫不堪。
但是,梦想就是我坚持下去的动力,虽然只是一个阶段的梦想,但我想,我能坚持下去,看到我的成功。想起许多年前漫画书的那句话:“我相信,人活着,总是会有好事发生。”
从今天开始博客,从今天开始依旧为梦想奋斗。
2009-11-16 12:35 | 分类于 生活 | cnnbboy