Qt for Embedded Linux Architecture
Qt
for Embedded Linux Architecture
http://doc.qt.nokia.com/4.6/qt-embedded-architecture.html
针对嵌入式LINUX操作系统的QT的架构
公司将运行在嵌入式LINUX设备(嵌入式设备;该设备上运行的操作系统是LINUX)上的QT做了一些定制和修改,使其更适合嵌入式设备上的LINUX系统上运行。以下将这样针对LINUX嵌入式设备下的QT简称为QTE。
一个QTE的应用程序运行时需要一个服务端应用程序,或者它自己就作为一个服务端应用程序运行。任何一个QTE应用程序能够作为一个服务端应用程序运行。当有多个QTE应用程序时,后运行的应用程序链接已经存在的服务端应用程序,自己作为客服端应用程序。(了解X11的server-client运行模式)
服务端和客户端程序有各自的职责:服务端程序管理鼠标指针,字符输入,屏幕显示。另外,服务端控制屏幕光标,屏幕保护的相关特性。客户端程序负责处理应用程序的具体操作。
服务端的应用由QWSServer类实例负责,客户端由QWSClient类实例负责。它们各自还有几个类负责处理各种相关的操作。
系统产生的所有事件,例如键盘和鼠标事件,都会首先传到服务端,然后再由服务端分发给相对应的客户端。
在渲染(画图,将图像从内存显示到屏幕上,渲染只是在图形学里专业说法)的时候,默认的过程是每一个客服端渲染它自己部件到内存(不是是FB),然后服务端负责把内存中的图形显示到屏幕上。如果硬件支持,这也是嵌入式软件的常用技俩,可以让客户端直接操控底层硬件。QTE提供两种直接操控硬件的方法,细节可参看下面的图形渲染一节。
服务端/客服端通信
(鼠标)指针操控层
字符输入层
图形渲染
屏幕上画图
服务端/客户端通信
运行的程序在增减部件的时候,就需要改变屏幕上显示。服务端在相对应的QWSWindow对象中维护每一个顶层窗口的信息。
当服务端接收到一个事件,则查找栈中所有的顶层窗口,找到该事件发生位置所对应的窗口。该窗口能够辨认是哪一个客户端程序创建的,然后就把ID(不知道是客户端的ID呢,还是该窗口的ID)传给服务端。最后,服务端应用程序把这个事件封装在QWSEvent类的实例中,发送到该窗口所在的客服端应用程序。
如果输入方式(input
method
这是指的什么)安装,它可以作为一个在服务端和客服端的过滤器。继承QWSInputMethod类实现定制的输入方式,使用服务端的setCurrentInputMethod()函数安装它。另外,可能需要用QWSServer::KeyboardFilter类去实现全局的,低水准过滤的按键事件;这
相关文档:
原文链接:http://blog.csdn.net/ecjtuync/archive/2008/10/23/3132789.aspx
Linux静态/动态链接库的创建和使用
和Windows系统一样Linux也有静态/动态链接库,下面介绍创建和使用方法:
假设有下面几个文件:
头文件String.h,声明相关函数原形,内容如下:
Strlen.c:函数Strlen的实现,获取给定字符串的长度,内容如 ......
这介绍的Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。其实这项技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel 技术,在Linux的2.4.x的内核中就采用了这种技术,被称为 ......
、Linux里查看所有用户
linux里,并没有像windows的net user,net localgroup这些方便的命令来治理用户.
Xwindows界面的就不说了.
(1)在终端里.其实只需要查看 /etc/passwd文件就行了.
(2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户.
或者用cat /etc/passwd |cut -f 1 -d : ......
首先,请安装驱动,我的显卡是nvidia fx5600,源里面就有驱动,直接安装就是。
代码:
sudo apt-get install nvidia-glx nvidia-settings
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_backup
sudo nvidia-glx-config enable
然后
代码:
Ctrl + Alt + backspace
重启X
建议不要把nvidia的logo去掉,至少在第一 ......
完成本文,使用了两个工具
1. strace
2. google code search
.
----
swap分区有一个大小为PAGE_SIZE的页面,称为signature页,上面记录swap分区的基本信息。
static struct swap_header_v1 {
char bootbits[1024]; /* Space for disklabel etc. */
unsigned int version;
......