Jump to Navigation

Welcome!

  NullGet是使用Qt编写的,运行于多种平台的GUI界面的多线程多协议断点续传下载软件。  使用NullGet可以轻松下载网络的多种协议的数据流,加快下载速度,支持断点续传,目前支持的协议有:HTTP,HTTPS,FTP,MMS,RTSP。而且它能运行于当前大多数流行的操作系统,包括Windows,Linux,FreeBSD等。     下载NullGet

  NullFXP 是一个基于Qt 4 开发的SFTP/FTP 客户端软件。目前已经实现基本的多文件上下传功能。详细信息查看本站项目说明页面。     下载nullfxp

  我们的目标是打造一个开源的,跨平台的,多线程的,运行稳定的下载软件,另一个就是整理Qt库开发跨平台GUI应用程序的相关资料。欢迎各位朋友对本站开源项目提供意见及建议,欢迎有兴趣的朋友参与本站开源项目,请联系 drswinghead at gmail dot com

天下有比grep实现更好、更快、更强大的grep吗

如果你没有看到这个软件,看到它的介绍,真正试用,真的是很难相信。

这个软件的名字叫ack , 其网站标榜: "better than grep, a search tool for programmers"

一个gentoo开发人员对其评介为”令人激动的、在某些情况下可替换grep的新工具",并且他还对 ack 站点列出的“十大胜出理由“一一做了解释。

但是这个软件即使更快也不能完全取代grep,因为它运行的时候用到perl解释器及perl标准模块。
既然用perl解释的,那么它怎么能比c写的grep快呢? That's really a problem.

这个gentoo开发人员在写一个ack的每日小技巧的文档,链接是: ack 每日小技巧


十大胜出理由:

HTML 5 规范 相关资料

官方规范:

HTML 5 Draft Recommendation — 16 Nov 2010

支持HTML 5 的最新浏览器:
    Google chrome
    Opera 9+	
    Yahoo BrowserPlus
    Firefox 3.0+
    IE8	
    Webkit:基于KHTML,apple系统上的saffri浏览器核心,目前已经开源
HTML 5 新功能列表:
    WebSocket

    程序缓存	

    侦测在线与否	

    本地服务器	

    客户端存储

    SQL数据库	

    线程	
    
    浏览器内嵌视频播放器

HTML 5 资源

web socket 示例
html5 演示

Category:

C++ boost库 新版本 1.35.0 发布说明

发布时间: 2008/05/29

新加入的库:

# Asio: 可移植网络库,包括socket,计时器,主机名决议及socket流IO支持,, 来自 Chris Kohlhoff.
# Bimap:
# Circular Buffer:
# Function Types:
# Fusion:
# GIL:
# Interprocess:
# Intrusive:
# Math/Special Functions:
# Math/Statistical Distributions:
# MPI:
# System:

Category:

KDE 4.0.5 稳定版发布

KDE 是 K Desktop Environment 的缩写,是一个"用于 UNIX 工作站上的强大的图形工作环境",它包含了大量的UNIX 应用程序,甚至象 Win98 一样内置了一个文件管理/Web浏览合一的浏览器.有人说 KDE 是 PC 机上所能见到的最漂亮的图形界面了.KDE 是完全免费的,并且提供全部源程序.

下载:KDE 4.0.5
查看:KDE 4.0.5 Release Announcement

Category:

双缓冲技术

双缓冲技术是一种GUI编程技术,它指的是在一个不在屏幕上的位图上渲染一个物件并把此位图拷贝到屏幕上。在Qt的早期版本中,这种技术常用于消除闪烁和提供一个快速用户界面。
在Qt4中,QWidget自动处理双缓冲,因此我们几乎不需要担心物件的闪烁。然而,显式双缓冲技术依然对复杂的物件渲染和重复渲染非带有益。我们可以永久保存物件的位图,总是为下次绘图做准备,并在我们接收到一个绘图事件的时候把位图拷贝到物件上。它尤其在我们希望做一些小改动时特别有效,如画一个橡皮圈,而不用一遍遍地重新计算和渲染整个物件。
我们将以讨论Plotter自定义物件来圆满结束本章内容。该物件使用了双缓冲技术和演示Qt编程的其他一些方面的内容,包括键盘事件处理,布局控制和坐标系统。
Plotter物件显示一条或者多条由坐标容器指定的曲线。用户可以在此图象上画橡胶圈,Plotter还能缩放橡胶圈内的区域。用户通过点击图形上的一个点,按下鼠标左键拖拽到另一个点再释放鼠标键来画一个橡胶圈。
图5.7 Plotter物件的缩放

Category:

把自定义物件整合到Qt设计师中

在我们能在Qt设计师中使用自定义物件之前,我们必须让Qt设计师注意到它们。有两种技术完成这个:“升级“方法和插件方法。
升级方法是一种快速简单的方法。它包括:选择一个与我们的自定义物件有相似API的内建Qt 物件,完成Qt设计师中的关于我们的自定义物件信息的一个对话框。这个物件就能用于使用Qt设计师开发的窗体,虽然在编辑或者预览窗体的时候它被表示相关联的内建Qt物件。
下面是如何使用这种方法把HexSpinBox物件插入到一个窗体的步骤:
1.通过从Qt设计师的物件盒子拖一个QSpinBox到窗体上创建一个QSpinBox 。
2.右键点击该spin box并从上下文菜单中选择升级为自定义物件。
3.在弹出的对话框中填入类名"HexSpinBox",头文件"hexspinbox.h" 。
哇!uic生成的代码将包含hexspinbox.h而不是并暗示这是一个HexSpinBox。在Qt设计师中,HexSpinBox被表示一个QSpinBox,允许我们设置QSpinBox的所有属性(例如,范围和当前值)。
图5.6 Qt设计师的自定义物件对话框

Category:

TCMalloc:线程缓存的Malloc

作者:Sanjay Ghemawat, Paul Menage

原文

翻译:ShiningRay

动机

TCMalloc要比glibc 2.3的malloc(可以从一个叫作ptmalloc2的独立库获得)和其他我测试过的malloc都快。ptmalloc在一台2.8GHz的P4机器上(对于小对象)执行一次mallocfree大约需要300纳秒。而TCMalloc的版本同样的操作大约只需要50纳秒。malloc版本的速度是至关重要的,因为如果malloc不够快,应用程序的作者就很有可能在malloc之上写一个自己的自由列表。这就可能导致额外的代码复杂度,以及更多的内存占用――除非作者本身非常仔细地划分自由列表的大小并经常从自由列表中清除空闲的对象。

TCMalloc也减少了多线程程序中的锁争用情况。对于小对象,几乎已经达到了零争用。对于大对象,TCMalloc尝试使用粒度较好和有效的自旋锁。ptmalloc同样是通过使用每线程各自的场地来减少锁争用,但是ptmalloc2使用每线程场地有一个很大的问题。在ptmalloc2中,内存可能会从一个场地移动到另一个。这有可能导致大量空间被浪费。例如,在一个Google的应用中,第一阶段可能会为其URL标准化的数据结构分配大约300MB内存。当第一阶段结束后,第二阶段将从同样的地址空间开始。如果第二个阶段被安排到了一个与第一阶段什?用的场地不同的场地,这个阶段不会复用任何第一阶段留下的的内存,并会给地址空间添加另外一个300MB。类似的内存爆炸问题也可以在其他的应用中看到。

TCMalloc的另一个好处是小对象的空间最优表现形式。例如,分配N个8字节对象可能要使用大约8N * 1.01字节的空间。即,多用百分之一的空间。而ptmalloc2中每个对象都使用了一个四字节的头,(我认为)并将最终的尺寸规整为8字节的倍数,最后使用了16N字节。

Category:

第五章 创建自定义物件

  • 自定义Qt物件
  • 创建QWidget 的子类
  • 把自定义物件和Qt设计师整合在一起
  • 双缓冲技术
  • 本章将阐述如果使用Qt开发自定义物件。自定义物件可以通过创建现有的Qt物件或者直接创建QWidget的子类来创建。两种方法我们都会演示,并且我们还要看一看如果把自定义物件整合到Qt设计师,这样它就能被当作内建Qt物件来使用了。我们将通过演示一个使用了双缓冲技术(一种强大的调整绘图技术)的自定义物件来圆满结束本章内容。

    Category:

    ssh 密钥登陆过程

    ssh 协议常用登陆认证方式包括以下四种:密码认证、密钥认证、Keyboard Inteactive、GSSAPI。
    密码认证非常常见,这里不再说明。Keyboard Inteactive、GSSAPI 下篇再讨论。这里重点说明密钥认证过程。

    第一步:生成密钥对
    密钥对包括公钥和私钥, 公钥放在ssh服务器上,私钥客户端保存使用。

    生成步骤:

    Category:

    emacs TAB&空格缩进配置、命令

    最近在使用emacs(不是xemacs,不是gtk-emacs)编写C程序,碰到的前辈同样遇到的问题:缩进用TAB还是空格的问题。

    默认情况下emacs是使用TAB的,下面的配置语句可设定所有遇到TAB的地方都使用适当个数的空格缩进(写到配置文件~/.emacs中):

    1. (setq-default indent-tabs-mode nil)

    另外还认识了两个命令:

    页面

    订阅 www.qtchina.tk RSS


    Main menu 2

    by Dr. Radut