关于 gemfield

CivilNet maintainer

QThread中的互斥、读写锁、信号量、条件变量

在gemfield的《从pthread到QThread》一文中我们了解了线程的基本使用,但是有一大部分的内容当时说要放到这片文章里讨论,那就是线程的同步问题。关于这个问题,gemfield在《从进 程到线程》中有一个比喻,有必要重新放在下面温习下: 继续阅读

从进程到线程

首先声明,gemfield本文以Linux为基础,所涉及到的线程概念以Linux为准。避免对于windows下的你产生困扰。

在《从程序到进程》一文中,我们知道了进程在内核中是以一个task_struct结构来描述和维护的,那么,我们编程中使用的线程概念,在内核中是怎么维护的呢?和进程有什么区别? 继续阅读

从内存(RAM)到寻址(Address)

第一部分:分段

CPU在工作的时候肯定是在一个不断地寻找内存地址的习惯中度过的。它要处理的数据、它需要调用的指令,都是在别处的内存里放着,不可能在ALU中放下,事实上也放不下,就算放下了也还得重新编写门牌号用来寻址数据和指令。呵呵,和绕口令似的。
继续阅读

基于Qt QUICK的SYSZUXsame

SYSZUXsame游戏就是基于QtSdk中Demos下的游戏:samegame。之所以将samegame在gemfield本文中命名为SYSZUXsame,是因为其添加了SYSZUX提供的网络服务,添加了QML webkit的示例,并且在gemfield的未来文章中,还会将其中的javascript逻辑替换为c++逻辑。这样不会带给你混淆。 继续阅读

Qt之年

要使用Qt为N9开发应用程序,我们最好对Qt有一个全面的了解。在gmefield这里,Qt可以划分为6个时代:

1、trolltech时代的Qt;
2、Qt被KDE的创建者Matthias Ettrich选为底层开发库;
3、 发布Qt/Embedded后的Qt;
3、NOKIA收购后的Qt;
4、将NOKIA Qt SDK和Qt SDK合并之后的Qt;
5、推出QUICK后的Qt;
6、2012年的Qt 5 (新的社区治理模型之下)。
继续阅读

使用QtSdk为N9 harmattan开发程序

在N9上市的这一个月里,CivilNet社区已经陆续买入了3台N9,部分原因是CivilNet社区对Qt社区的支持,当然了,另外的原因是因为N9确实漂亮。作为CivilNet对Qt社区提供支持的证据之一,就是gemfield本文了。

N9可以说是首款真正的Qt powered phone。要在N9上开发程序,有很多环境和机制,但最为强大,也是诺基亚官方推荐的开发平台,就是Qt Sdk。因为CivilNet Blog 2012发布在即,gemfield本文使用了很少的插图,以减轻2012年gemfield博客迁移的难度和工作量。所以,阅读此文将需要更多的耐心,如果有任何疑问,可以在http://civilnet.cn/qt上提问。
继续阅读

你好,G币

世界上最神奇的魔术从不是那些盛大舞台上表演的“分身术”或者“无中生有”之类的哗众取宠,而是东西在你手上,你抱着、掖着、惦着、数着、看着,它被你紧攥在手里,被你紧盯在眼里,它千真万确的触手可及,然而它又悄悄消失了。它是世界上最无耻的魔术,它是世界上最赤裸的抢劫,它是世界上最伪善的残忍,它是世界上最肮脏的阴谋,它是货币发行。
继续阅读

Qt用硬件加速来显示图形

原本这周gemfield的主要任务是使用Qt程序写一些open GL ES的程序,然后移植到SYSZUX PAD上。但也是从这会儿意识到Qt并没有包含GLES/gl.h头文件,虽然从civilnet.cn/bbs上可以下载到该头文件,但是它对应的库文件是整合到QtopenGL模块里了吗,又是哪个版本的Qt for Embedded linux呢?gemfield深陷泥淖之中。无奈之余,就看到了TomCooksey的一篇文章,将翻译过来放在这里慢慢研究吧。
继续阅读

如何发布Qt应用程序

Gemfield在发布SYSZUXdesk程序(http://civilnet.cn/syszux/syszuxdesk)时遇到了一个难题, SYSZUXdesk程序以release方式生成.exe后,和相关的dll文件一起拷贝到另一台电脑上,点击运行程序,程序界面闪一下后就消失了。然后屏幕右下角的程序图标出现一会儿(是灰显,鼠标放上去就消失了)。整个过程没有报任何错误。
继续阅读