页面

0
Posted on 星期日, 四月 26, 2009 by 随想~ and filed under ,
今天写了几个程序想发上来下可是 include 语句尖括号出现问题 了!这是怎么回事呢??
Hello Qt!

#include
#include

int main(int argc, char *argv[])
{
QApplication app(argc,argv);
QLabel *hello = new QLabel("Hello Qt!");
hello->show();

return app.exec();
}
就如大家看到的一样:尖括号里的东西自动清空了!!
试试引用块能不能解决问题。
#include
#include

int main(int argc, char *argv[])
{
QApplication app(argc,argv);
QLabel *hello = new QLabel("Hello Qt!");
hello->show();

return app.exec();
}


咦,还是被隐藏了!!怎么回事哦!
以关键字 blogger,angle bracket为关键字google了一下,大概知道了原因:Blogger使用的是HTML发布帖子,而HTML的标记都是尖括号的形式,所以如果文中出现尖括号,括号中的内容就会被误识别为标记。很多blog程序包括WordPress都有这个另作者不爽的地方,但是人家是为了安全方面的考虑也没办法。解决办法就是将'<'替换成"& l t ;"(去掉空格和引号),右尖括号并不需要替换,因为已经没有和他匹配的左尖括号了。
如果你的<太多了,可以借助记事本替换功能,将所有的<替换成& l t ;(去掉空格)
替换后的代码显示 哎!!
#include<qapplication>
#include<qlabel>

int main(int argc, char *argv[])
{
QApplication app(argc,argv);
QLabel *hello = new QLabel("Hello Qt!");
hello->show();

return app.exec();
}

写blog真麻烦呀!
0
Posted on 星期日, 四月 26, 2009 by 随想~ and filed under
个人认为只需要加个 -fast参数就ok了。其他参数视自己情况而定,比如你不需要qt3支持可以添加-no-qt3support,或者不需要webkit插件 -no-webkit


配置参数选项:

 前面是*号的表示默认参数. +号表示该功能要求被评估,评估成功后才能被接受. 

    -release ........... 调试关闭.没有调试库,自己的项目只能发布,不能调试(没有调试库的缘故),如果你硬要编译debug版本的话,会提示找不到xxxxxd.dll  
 *  -debug ............. 只有调试库,没有释放库,也就是说以后自己的项目只能调试,如果你硬要编译debug版本的话,会提示找不到xxxxx.dll 

 +  -debug-and-release . 编译后包含两种库。最好编译两种库

    -opensource ........ 编译开源版.
    -commercial ........ 编译商业版.  这两个参数一般不需指定,configure开始需要你选择版本。

    -developer-build ... 编译开发者选项。

 *  -shared ............动态编译.
    -static ............ 静态链接库.貌似有插件不能用静态编译。

 *  -no-fast ........... configure生成所有项目makefiles文件,并编译
    -fast .............. 只生成库目录及子目录下的项目的makefiles文件.  

    -no-exceptions ..... 关闭异常支持
 *  -exceptions ........ 开启异常支持.

    -no-accessibility .. 关闭对windows active控件支持.
 *  -accessibility .....对windows active控件支持.

    -no-stl ............ 无c++标准库支持
 *  -stl ............... 有标准库支持

尖括号在blogger出问题了。。。。。

    -no-sql- ... Disable SQL entirely, by default none are turned on.
    -qt-sql- ... Enable a SQL in the Qt Library.
    -plugin-sql-  Enable SQL as a plugin to be linked to at runtime.
                         Available values for :
                           mysql
                           psql
                           oci
                           odbc
                           tds
                           db2
 +                         sqlite
                           sqlite2
                           ibase
                         (drivers marked with a '+' have been detected as available on this system)

    -system-sqlite ..... Use sqlite from the operating system.

    -no-qt3support ..... 不提供对qt3函数支持

    -no-opengl ......... 不提供OpenGL函数支持

    -platform ... The operating system and compiler you are building on.
                         (default %QMAKESPEC%)

    -xplatform .. The operating system and compiler you are cross compiling to.

                         See the README file for a list of supported operating systems and compilers.

    -qtnamespace Wraps all Qt library code in 'namespace name {...}

    -D ........ Add an explicit define to the preprocessor.
    -I ... Add an explicit include path.
    -L ... Add an explicit library path.
    -l ... Add an explicit library name, residing in a librarypath.

    -graphicssystem Specify which graphicssystem should be used.
                          Available values for :
 *                         raster - Software rasterizer
                           opengl - Using OpenGL accelleration, experimental!
    -help, -h, -? ...... Display this information.

第三方库

    -qt-zlib ........... 使用zlib绑定到qt.
 +  -system-zlib ....... 使用操作系统的zlib
                         见 http://www.gzip.org/zlib

    -no-gif ............ 不编译gif文件读取支持插件
 +  -qt-gif ............ 编译gif文件读取支持插件
                         参见 src/plugins/imageformats/gif/qgifhandler.h

    -no-libpng ......... 不编译PNG支持插件.
    -qt-libpng ......... 编译PNG支持插件.
 +  -system-libpng ..... 使用系统libpng库
                         见 http://www.libpng.org/pub/png

    -no-libmng ......... 不编译MNG支持插件.
    -qt-libmng ......... 编译MNG支持插件.
 +  -system-libmng ..... 使用系统的mng库
                         参见 http://www.libmng.com

    -no-libtiff ........ 不编译tiff支持插件.
    -qt-libtiff ........ 编译tiff支持插件.
 +  -system-libtiff .... 使用系统的libtiff库
                         见 http://www.libtiff.org

    -no-libjpeg ........ 不编译jpeg支持插件库
    -qt-libjpeg ........ 编译jpeg支持插件库
 +  -system-libjpeg .... 使用系统的jpeg支持库
                        见 http://www.ijg.org

以下参数仅对qt for windows有效

    -no-dsp ............ 不生成 VC++ .dsp 文档.
 *  -dsp ...............生成 VC++ .dsp文档, 需要有平台标识符"win32-msvc".注意 qt4开始就不支持vc6.0了所以这两个参数无效。

    -no-vcproj ......... 不生成 VC++ .vcproj 文档
 *  -vcproj ............ 生成 VC++ .vcproj 文档, 需要平台标识符"win32-msvc.net".也就是vs2003以上的编译环境

    -no-incredibuild-xge Do not add IncrediBuild XGE distribution commands to custom build steps.
 +  -incredibuild-xge .. Add IncrediBuild XGE distribution commands to custom build steps. This will distribute MOC and UIC steps, and other custom buildsteps which are added to the INCREDIBUILD_XGE variable.
                         (The IncrediBuild distribution commands are only added to Visual Studio projects)

    -no-plugin-manifests  插件不嵌入manifests.
 *  -plugin-manifests .. 插件嵌入manifests.

    -no-qmake .......... 不编译qmake
 *  -qmake ............. 编译 qmake.   不建议 不编译qmake

    -dont-process ...... 不生成makefiles和project文档. 比 -no-fast 参数优先级更高

 *  -process ........... 生成makefiles和project文档.

    -no-rtti ........... 不编译运行时类型信息。
 *  -rtti .............. 编译运行时类型信息。
//下面是对指令的支持,不解释了
    -no-mmx ............ Do not compile with use of MMX instructions
 +  -mmx ............... Compile with use of MMX instructions
    -no-3dnow .......... Do not compile with use of 3DNOW instructions
 +  -3dnow ............. Compile with use of 3DNOW instructions
    -no-sse ............ Do not compile with use of SSE instructions
 +  -sse ............... Compile with use of SSE instructions
    -no-sse2 ........... Do not compile with use of SSE2 instructions
 +  -sse2 .............. Compile with use of SSE2 instructions

 +  -direct3d ..........  将Direct3D支持编译进来。检测不到direct3d sdk 就不支持
    -no-openssl ........ Do not compile in OpenSSL support
 +  -openssl ........... Compile in run-time OpenSSL support
    -openssl-linked .... Compile in linked OpenSSL support
    -no-dbus ........... Do not compile in D-Bus support
 +  -dbus .............. Compile in D-Bus support and load libdbus-1 dynamically

    -dbus-linked ....... Compile in D-Bus support and link to libdbus-1
    -no-phonon ......... 不将 Phonon 模块 编译进来
 +  -phonon ............ 将 Phonon 模块 编译进来  (若使用的规范的c++编译器则会自动编译Phonon模块)
    -no-phonon-backend . Do not compile the platform-specific Phonon backend-plu
gin
 *  -phonon-backend .... Compile in the platform-specific Phonon backend-plugin
    -no-webkit ......... 不将webkit模块编译进来,编译webkit非常耗时间。
 +  -webkit ............ 将webkit模块编译进来 (若使用的规范的c++编译器则会自动编译WebKit模块)
    -no-scripttools .... Do not build the QtScriptTools module.
 *  -scripttools ....... Build the QtScriptTools module.
    -arch ....... 外观样式.
                        有以下几种 :
 *                         windows
                           windowsce
                           boundschecker
                           generic

    -no-style-<>尖括号里包含上面的样式。
0
Posted on 星期日, 四月 26, 2009 by 随想~ and filed under
对于大多常在unix或者linux环境下工作或者学习的人来说是很熟悉makefile,make这些东西的,但是对于一个在windows环境中长大的小孩来说,这些东西很陌生,甚至根本就不认识。这也许是ms的纵容和娇惯的结果。
就拿我自己来说吧,当初学习c++,一般都是一个.cpp文档,在windows环境下都是打开vc6.0点击编译按钮,ok,运行。根本就没用到makefile,更别说如何生成一个makefile档案了。
但是当我试着学习linux(用的是ubuntu发行版)时,发现windows下的编程方式在linux不再那么适用了,刚开始接触linux的时候怎么找的到一个IDE来写程序呢?慢慢的知道 了在命令行里生成一个makefile,然后make就自动编译了,也不比点一个按钮麻烦到哪去呀!
windows下编程很少用到命令提示符,这也许是由于微软的IDE做的很牛B吧。

写得就像我的心情一样——乱。
0
Posted on 星期六, 四月 25, 2009 by 随想~ and filed under
昨天晚上开始下载的 qt4.5.1 opensource 源码包,今天一觉睡到11点,下午还有选修课。晕死了!
晚上回来在网上看了看windows vista +Vs2008下安装Qt教程,基本了解了安装过程了。
好的开始安装。

  • 添加一个系统变量 path  d:\qt\4.5.1\bin\,不然编译后命令行里面是运行不起qmake的,她会提示你没有定义该命令之类的。具体添加方法,系统属性|高级设置|系统变量|修改PATH,在后面添加;D:\qt\4.5.1\bin\前面的分号是隔开前一个目录的所以必须添加。
  • 解压下载下来的源码包到D:\Qt\,它的文件名是qt-win-opensource-src-4.5.1,咱改个短点的名字就4.5.1了,好qtsdk的根路径就是D:\Qt\4.5.1\了,qt文档里说明了这个路径不能有空格符。
  • 接下来是打开vs2008命令提示符,开始|所有程序|Microsoft Visual Studio 2008|Visual Studio Tools|Visual Studio 2008命令提示,网上很多文章说要手动设置vs2008的环境变量,其实不需要,因为打开这个命令提示窗口系统就自动设置好了vs2008环境了。
    Setting environment for using Microsoft Visual Studio 2008 x86 tools.
    所以直接切换到qtsdk根目录也就是cd D:\Qt\4.5.1\
  • 输入configure -fast -no-stl -static 回车,就是漫长的配置makefiles过程。-fast参数表示只编译库和库目录下的东西,而不包括像doc,demo,等 -no-stl表示不添加标准库支持,因为vs2008已经有stl了, -static 是静态编译,不动态链接库。我这里没有指定QMAKESPEC 参数,如果知道这个参数(win32-msvc2008)就可以指定或者你机器上安装了多个编译环境的话,最好指定这个标识符,但是我不知道我的参数是什么,所以没有指定它,后面configure会自动侦测已安装的编译环境自动指定该标识符。 具体参数详见这里,
  • configure结束后 程序会提示你运行nmake来编译qt,既然她提示你运行nmake,当然就运行nmake了,时间很长。
  • 如果nmake过程没出什么错误的话OK,咱的Qt安装成功了。完成后我的D盘就只剩下1G的空间了,整个4.5.1文件夹用了大约9G的空间,nmake clean 过后该文件夹用了1.5G左右的空间。

我编译过程中蓝屏一次,不知道是不是由于编译引起的。没办法重启后nmake clean ,然后重新configure一下,再nmake一下。

不要试着用古老的vc6.0来配置qt4了,qt4开始不支持vc6.0了以及vs2003以前版本了。

先休息下!
0
Posted on 星期六, 四月 25, 2009 by 随想~ and filed under





0
Posted on 星期四, 四月 23, 2009 by 随想~ and filed under ,
google真是对web应用的潜力充分的感兴趣呀,又发布了开源O3DO3D是一种基于网页的可控3D标准,测试版已经发布了1到2天的样子了。

O3D构架
可以看出O3D底层(貌似就是下载的插件了)基于C++,顶层基于JavaScript,结合Google Chrome, Gadget, Gears, Skechup,一夜间,Web 3D成为Google的天下。
这种web应用没有强大的js引擎是没办法的,当网页3D游戏风靡起来的时候,google自家的浏览器chrome的v8引擎速度优势就体现出来了。哈哈哈google又一次得意的笑了,互联网天下舍我其谁?看看实际渲染效果吧!

两个碗依次接三个球(和杂技团演员两只手丢三个火炬差不多)


基本的三D立方体变换加定点着色

上面是用chrome+o3d插件显示的Beach Scene demo


这个场景大约18M的样子,渲染时占用了大约160M的内存,效果在网页中来说是不是很不错了呢?这套API绝对是做web3D游戏的绝配,2D网页游戏刚刚开始起步,3D网页游戏时代就要到来了?不久的将来我打开chrome登录WoW web版,开始战场!!想想都兴奋呀!


0
Posted on 星期四, 四月 23, 2009 by 随想~ and filed under ,
就在大约两周前,Qt labs blog 曾说they are working hard on QtCreator 1.1qtcreator1.1.0RC版本已经出来了,没想到这么快,今天NOKIA就发布了最新的Qt 4.5.1 、QtCreator 1.1.0。当然还有我期待的VS add-in 1.0也跳出RC正式发布了!(感叹他们的效率)
QtCreator 1.0 问题多多,这是命中注定的。
QtCreator 1.1 由于它的版本是1.1,我的直觉来看,这个版本要比1.0成熟不少
这里要说个有趣的现象那就是 子版本是 1的比起子版本是0的要成熟很多,拿windows来举例:
  • windows 3.0 vs  3.1
  • windows 4.0(win95)vs 4.1(win98)
  • windowsNT 5.0(win2000) vs 5.1(winXp)
  • windows 6.0(vista)vs 6.1(win7) .
呵呵看出来了没,所以我从直觉来看1.1版比起1.0是好了很多。


我学习Qt从没自己编译过源代码,可能是自己比较懒吧!但是直接用现成的东西给人很笨很傻瓜的感觉,那些能自己编译源代码的我感觉很牛X,虽然不是真的很牛X。下载下来写个程序先!学编程还是要多写!
0
Posted on 星期三, 四月 15, 2009 by 随想~ and filed under ,
今天进入blogger 就是一条状态
预设停运时间2:00AM PDT on Thursday (4/16)
然后点击了下了解详情可是却打不开网页,一阵凉意,莫非google 觉得blogger赚不了钱停止blogger服务了!? 我狂汗!不会是真的吧!于是带着心情google了一下 ,竟然有的博主也认为blogger要停运了!!我狂晕!

还好google搜索页里有Blogger Status
Tuesday, April 14, 2009. Blogger will be unavailable Thursday (4/16) at 2:00AM PDT for about 10 minutes for maintenance.
翻译过来就是blogger 4月16号上午2点钟由于维护, 大约有10分钟不能访问。

但是blogger将这个消息怎么就翻译成了
预设停运时间2:00AM PDT on Thursday (4/16)
呢!!
停运和10分钟内不能访问是同一个概念吗?而且貌似以前都是这样翻译的(我刚使用blogger),这对我这种新用户来说简直开了天大的玩笑。
虽然是个很小的翻译错误,但是我不容忍这样的玩笑,愚人节都过去了半个月了。
希望以后blogger把能将 停运 改成 维护 ,虽然中文用户很少,但是严谨点总是没错的,对吧!
0
Posted on 星期三, 四月 15, 2009 by 随想~ and filed under , ,

最近由于要用Qhttp类来实现一个模拟登录网络的小程序,需要分析下报头,而以前xp上常用的抓包工具WinSock Expert 在vista系统下不能正常工作,所以在网上找了很久的vista下的抓包工具。很多黑客论坛也讨论抓包工具而且很多黑客菜菜们都找不到vista下简单易用的抓包工具,可怜啊。
最后看了下微软的Network Monitor,还有Wildpackets OmniPeek Personal这两个软件。但是我考虑到vista的兼容性,还是用微软自家做的好! 至少感觉要踏实些,相信大家也是同样的感觉吧!

Network Monitor3.2是一个强大的网络数据捕获和分析工具,具体强大在哪,因为才开始用还不太了解,我也只能用到他的低级功能的。

赶紧从微软官网上下载了下来,我靠个头挺大的也4.26M!(相比WinSock Expert 的250多K的个头是很大的哟),点击安装一路的next,安装顺利,OK!双击图标运行,有点找不到从哪开始的感觉了,原来常用的WinSock Expert,都是打开一个进程,然后对这个进程监听并截取网络包,很简单就可以监听网络包了,上手极其简单的。

一个强大的工具貌似都不容易上手, 然后看了一下Network Monitor的文档,这里提下它的文档真的很齐全,了解下如何开始捕获数据包。
  1. 如果你的电脑有多个网卡的话(包括无线网卡和虚拟机的网卡)要选择要捕获的网卡,在select Networks窗口标签里勾选你要捕获的网卡。我这里选择本地连接。
  2. 然后点击工具栏第一个图标 new capture 新建一个捕获窗口。
  3. 怎样找到我们有用的包呢?一是设置过滤规则,Network Monitor有一套过滤器语法来设置自己的过滤器,当然软件自带了很多的过滤器。在Capture Filter(捕获过滤器)窗口标签里添加捕获过滤器,这里我没有设置过滤器。
  4. 设置好了过滤规则后,就可以开始 捕获网络包了。点击工具栏上的 start 按钮开始捕获。
  5. 不一会就会看到frame summary标签窗口里面显示的捕获到的网络数据包。
  6. 要找到你需要捕获的进程的话就在窗口左边的Network conversation(网络会话)标签里选择该进程frame summary标签窗口里面就是该进程的发送和接收的数据包了。
这个软件自带有很大一套过虑规则,也可以用它的语法自己定义过虑规则。

比如我要捕获的是HTTP包,所以在display filter 窗口里 输入ProtocolName == "HTTP" 点击apply 应用就OK 了。点击一个数据包,frame details窗口里就显示了数据包的结构,清晰明了呀!由于我不分析16进制就没看Hex details 窗口了。

我一般抓包用的很基础,高级的东西还没用到,多以就不多说了。还是要自己多探索,探索的路上老有趣了,嘿嘿!

0
Posted on 星期二, 四月 14, 2009 by 随想~ and filed under
这里是引用文字
这里是引用文字
这里是引用文字
这里是引用文字
这里是引用文字
  1. 编号列表1
  2. 编号列表2
  3. 编号列表3
  4. 编号列表4
  • 项目符号列表1
  • 项目符号列表2
  • 项目符号列表3
  • 项目符号列表4
0
Posted on 星期四, 四月 09, 2009 by 随想~ and filed under
这是我使用mail2blogger功能发的一篇文章。我使用google
的服务也很长时间了,但是现在才开始使用她的博客托管。初次使用blogger感觉她很好很强大!曾经也使用过WP
的托管服务(虽然没怎么写过文章,也算是用过WP
吧呵呵),强大的WP也要拜倒在blogger的石榴裙下了!但是这两个免费的博客托管商各有所长。比如blogger 的域名绑定是免费的而WP
绑定域名是要收费的(谁叫google那么财大气粗呢),WP
有自己开源的博客软件来提供更安全可靠的服务。最后要说一下,那就是他们在中国都没有服务器,国内访问很慢的说。偶尔还会出现blogger
被墙挡在外面的情况:( 好了先就写这么点 手机上打字真TMD慢!手好酸呐!

--
从我的移动设备发送

Powered By Blogger