自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(28)
  • 资源 (4)
  • 收藏
  • 关注

转载 Linux中断(interrupt)子系统之一:中断系统基本原理

这个中断系列文章主要针对移动设备中的Linux进行讨论,文中的例子基本都是基于ARM这一体系架构,其他架构的原理其实也差不多,区别只是其中的硬件抽象层。内核版本基于3.3。虽然内核的版本不断地提升,不过自从上一次变更到当前的通用中断子系统后,大的框架性的东西并没有太大的改变。 /****************************************************

2013-05-08 16:16:30 203

转载 Linux内核实践之工作队列

http://blog.csdn.net/bullbat/article/details/7410563       工作队列(work queue)是另外一种将工作推后执行的形式,它和tasklet有所不同。工作队列可以把工作推后,交由一个内核线程去执行,也就是说,这个下半部分可以在进程上下文中执行。这样,通过工作队列执行的代码能占尽进程上下文的所有优势。最重要的就是工作队列允许被重新调

2013-04-16 17:10:55 265

转载 dbus example

  我们继续学习D-Bus,参考http://dbus.freedesktop.org/doc/dbus/libdbus-tutorial.html ,相关的API接口reference参考http://dbus.freedesktop.org/doc/dbus/api/html/modules.html 。从底层,即libdbus学习如何发送Method以及如何等待应答,在上上次学习中,

2010-05-19 19:15:00 1103

转载 D-Bus学习(六):Method的收发小例子

  我们继续学习D-Bus,参考http://dbus.freedesktop.org/doc/dbus/libdbus-tutorial.html ,相关的API接口reference参考http://dbus.freedesktop.org/doc/dbus/api/html/modules.html 。从底层,即libdbus学习如何发送Method以及如何等待应答,在上上次学习中,给出了同

2010-05-18 16:19:00 470

原创 D-Bus学习(五):Signal的收发小例子

   我们继续学习D-Bus,参考http://dbus.freedesktop.org/doc/dbus/libdbus-tutorial.html ,从底层,即libdbus学习如何发送signal,以及如何监听signal。signal在D-Bus的Daemon中广播,为了提高效率,只发送给向daemon注册要求该singal的对象。     这个图我画了很久,我希望

2010-05-18 15:18:00 395

原创 D-Bus学习(四):基础小例子(同步和异步)

  从Tutorial中学习基本概念后,进入实战阶段,通过学习,我们给出连个小例子,同步例子和异步例子。类型和GType的映射  在D-Bus编程中,基础类型和GType的映射表格如下。在后面的程序小例子中我们会看到具体如何对应。D-Bus basic typeGTypeFree functionNotesBYTEG_TYPE_BOO

2010-05-18 14:29:00 378

原创 D-Bus学习(三):消息

   消息通过D-Bus在进程间传递。有四类消息:一、Method call消息:将触发对象的一个method 二、Method return消息:触发的方法返回的结果 三、Error消息:触发的方法返回一个异常 四、Signal消息:通知,可以看作为事件消息。  一个消息有消息头header,里面有field,有一个消息体body,里面有参数arguments。消息头包含消息

2010-05-18 14:12:00 365

原创 D-Bus学习(二):基本概念

  原生对象和对象路径  所有使用D-BUS的应用程序都包含一些对象, 当经由一个D-BUS连接收到一条消息时,该消息是被发往一个对象而不是整个应用程序。在开发中程序框架定义着这样的对象,例如JAVA,GObject,QObject等等,在D-Bus中成为native object。   对于底层的D-Bus协议,即libdbus API,并不理会这些native ob

2010-05-18 11:37:00 384

原创 D-Bus学习(一):总体介绍

  D-Bus的方式在移动手机操作系统中非常重要,包括Maemo,Moblin等以Linux为基础的操作系统。估计Andriod也大量使用。D-Bus的相关学习资料见:http://www.freedesktop.org/wiki/Software/dbus ,在网上也有大量的学习资料,在http://blog.chinaunix.net/u3/111961/ 中有不少的中文资料,收集了很多网络资

2010-05-18 11:11:00 322

原创 从源代码打deb包 bin包

从源代码打deb包

2010-05-13 09:21:00 296 1

原创 Amixer ALSA声音管理工具

可以控制系统音量的大小

2010-05-13 09:17:00 224

转载 浅析GLib

 GLib是GTK+和GNOME工程的基础底层核心程序库,是一个综合用途的实用的轻量级的C程序库,它提供C语言的常用的数据结构的定义、相关的处理函数,有趣而实用的宏,可移植的封装和一些运行时机能,如事件循环、线程、动态调用、对象系统等的API。它能够在类UNIX的操作系统平台(如LINUX, HP-UNIX等),WINDOWS,OS2和BeOS等操作系统台上运行。GLib需要一个支持线程的

2010-05-08 11:15:00 261

转载 GObject对象系统 (3)

信号的定义和应用     在GObject系统中,信号是一种定制对象行为的手段,同时也是一种多种用途的通知机制。初学者可能是在GTK+中首先接触到信号这一概念的,事实上在普通的字符界面编程中也可以正常应用,这可能是很多初学者未曾想到的。一个对象可以没有信号,也可以有多个信号。当有一或多个信号时,信号的名称定义是必不可少的,此时C语言的枚举类型的功能就凸显出来了,用LAST_SIGNAL

2010-05-08 10:17:00 427

转载 GObject对象系统 (2)

 对象的实现下面的代码实现了上面的Boy对象的定义:   /* boy.c */#include "boy.h"enum { BOY_BORN, LAST_SIGNAL };static gint boy_signals[LAST_SIGNAL] = { 0 };static void boy_cry (void);static void boy_b

2010-05-05 11:38:00 444

转载 GObject对象系统 (1)

      简单的说,GObject对象系统是一个建立在GLIB基础上的,用C语言完成的,具有跨平台特色的、灵活的、可扩展的、非常容易映射到其它语言的面向对象的框架。如果你是一个C语言的执着的追随者,你没有理由不研究一下它。  前言大多数现代的计算机语言都带有自己的类型和对象系统,并附带算法结构。正象GLib提供的基本类型和算法结构(如链表、哈希表等)一样,GObject的对象

2010-05-05 09:40:00 331

转载 使用C语言进行面向对象的开发--GObject入门[5]

接上文 这一部分简要介绍下类的析构,或者成为终结。 还是多说几句,也算是对前文的补充 1.生成一个类是由父到子,析构的时候自然与之相对是由子到父。 2.GObject的内存管理并没有采用垃圾回收的方式【JAVA就采用此方式】,而是采用了引用计数的方式。 具体垃圾回收是怎么回事儿,本人还不清楚,所以就不提了。引用计数还了解一些, 但也不是此处的重点【哎,又写了点废

2010-05-05 09:04:00 484

转载 使用C语言进行面向对象的开发--GObject入门[4]

Part 4   接上文.前面定义了几个结构,我们可以把那些东西放在一个jc_boy.h文件中,下面开始介绍如何去实现这个BOY类,也就是要放在jc_boy.c中的部分。对于GObject而言,有了实例结构,有了类结构,自然要有如何初始化的函数,毕竟这是C语言吗,没有那么方便的事儿。相应的,对应于jc_boy,要定义jc_boy_init和jc_boy_class_init两个

2010-05-05 08:32:00 366

原创 使用C语言进行面向对象的开发--GObject入门[3]

Part 3       终于要谈正题了,如何使用GObject去构建一个所谓的“对象”呢?其实是一件简单但却痛苦的事情。       在罗列代码之前,还是要啰嗦两句。GObject中每个类要定义两个结构体,假设你要定义的类型为People,那么你要定义两个结构分别名为People和PeopleClass,估计刚接触的人会有些晕,一般的C++啊,JAVA什么的都是直接一个cla

2010-05-04 20:04:00 504

原创 使用C语言进行面向对象的开发--GObject入门[2]

PART 2.在正式开始GObject的学习之前,还要简单提一下大名鼎鼎的建立在GObject系统之上的桌面图形库Gtk,先来个最简单的程序看看。#include  int main( int argc, char *argv[]){GtkWidget *window; gtk_init(&argc, &argv); window = gtk_windo

2010-05-04 19:57:00 374

转载 使用C语言进行面向对象的开发--GObject入门[1]

        C语言是简单的,因为它本身并没有什么特别的内容,标准C并没有提供多少函数(其实一般用不到的提供了很多),也没有提供面向对象的机制,但也正因此使得要用C编写“美丽”的程序变得复杂起来。复杂的原因其实很简单,一切的一切都要我们自己去实现。最近这段时间集中攻了下GObject,虽然只是会了些皮毛,但还是要寥寥写上几句,省着以后忘记了,又要从头整,毕竟GObject的学习是件令人头

2010-05-04 19:42:00 350

原创 图片和配置文件的RPM包的打包过程,如何提交SRC RPM包中内容到SVN

theme-devel.tar.gz包中没有需要编译的东西,只是需要安装的一些图片和文件,如何打成RPM包 1.在/usr/src/rpmbuild/SOURCES/目录中建好文件目录的层次结构,再压缩成tar.gz文件, 2.进入/usr/src/rpmbuild/SPECS目录,创建spec文件, %prep部分    解压缩,进入源代码目录 %build部

2010-04-30 10:17:00 485

转载 SQL语句left join/right join/inner join 的用法比较

假设有A,B两个表。  表A记录如下:  aID     aNum  1     a20050111  2     a20050112  3     a20050113  4     a20050114  5     a20050115  表B记录如下:  bID     bName  1     2006032401  2     2006032402  3     2006032403  4 

2010-04-28 10:36:00 126

原创 SPEC文件

SPEC文件spec文件是整个RPM包建立过程的中心,它的作用就如同编译程序时的Makefile文件。spec文件包含建立一个RPM包必需的信息,包括哪些文件是包的一部分以及它们安装在哪个目录下。这个文件一般分为如下的几节:(1) Preamle(序言)序 言包含用户请求包的信息时所显示的内容。它可以包含包的功能描述、包的软件版本、版权信息和所属的包组等。Summary 是一行关于该软

2010-04-27 19:18:00 634

原创 sqlite3中修改表名

 在mysql 中修改表名的SQL语句     在使用mysql时,经常遇到表名不符合规范或标准,但是表里已经有大量的数据了,如何保留数据,只更改表名呢?       可以通过建一个相同的表结构的表,把原来的数据导入到新表中,但是这样视乎很麻烦。      能否简单使用一个SQL语句就搞定呢?当然可以,mysql5.0下我们使用这样的SQL语句就可以了。

2009-09-10 16:19:00 1506

原创 CLUTTER 笔记

1. clutter group的大小是由 他包含的所有actor的大小和位置(这里的位置指的是actor在组内的位置) 决定的,不可以用clutter_actor_set_position( )设定。 2.但是group可以设定位置,他包含的actor设定的position是相对于这个组的位置。 3.其他操作如旋转,缩放。。。。应用到组内的所有actor.

2009-07-29 09:55:00 174

原创 linux下GTK+开发多语言程序

开发多语言软件是一件非常困难的事,各个国家的字符集的编码方式、货币符号、日期格式、数字格式、文字表现都各不相同,glibc提供了大量的函数处理这些事情,不再聱述了。这里要做的是,用一个简单的实例说明一下GetText的用法,GetText是一系列的工具和库函数,帮助程序员和翻译人员开发多语言软件的。 GetText并不是一个神秘的东西,若非要在Win32

2009-07-29 08:59:00 608

原创 Clutter 学习总结

  本文是作者学习 Clutter 的一个总结,介绍了 Clutter 在应用程序中的角色、基本对象、动画相关的对象以及创建动画的步骤等。 简介初识 Clutter,觉得它很像是 Macromedia Flash,ClutterTimeline 就像是flash 里的时间

2009-07-27 16:51:00 291

原创 计算一个数组中元素个数的方法

ClutterKnot knot [2] ;结构体数组,2个元素sizeof( knot ) =====>整个数组占用的字节数sizeof( ClutterKnot ) =====>一个数组元素(结构体)占用的字节数sizeof( knot ) / sizeof ( ClutterKnot ) =====>数组所含的元素个数(结构体个数)

2009-07-27 15:58:00 860

The unix programming environment

The unix programming environment from Brian Kernighan

2010-08-24

Foundations.of.Qt.Development

QT 图形编程基础,linux平台上最成熟到图形开发库,包括对操作系统各种组件到包装,不过你要先懂一些C++的知识。。。。

2010-06-11

Apress_Pro_Linux_Embedded_Systems

This book takes you through using Linux for your embedded project. Because Linux and its associated projects are open source, you learn how to build everything you need for an embedded project from scratch. The entire Linux environment has advanced to the point that this undertaking is no longer a quixotic exercise; it falls squarely within the reach of any engineer willing to put in a reasonable amount of time and effort. Building a complete Linux system is the best training for creating a small Linux system; as a result, doing so is more than a morale-building exercise.

2010-03-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除