文章分类 -  Linux

摘要:http://www.mathematik.uni-ulm.de/help/gtk+-1.1.3/gtk_tut-22.html22. glibglib provides many useful functions and definitions available for use when creating GDK and GTK applications. I will list them all here with a brief explanation. Many are duplicates of standard libc functions so I won't go i 阅读全文
posted @ 2011-12-12 16:41 alxe_yu 阅读(662) 评论(0) 推荐(0)
摘要:glib-object.h-->gsignal.h-->gmarshal.hglib-object.h:#ifndef __GLIB_GOBJECT_H__#define __GLIB_GOBJECT_H__#define __GLIB_GOBJECT_H_INSIDE__/* topmost include file for GObject header files */#include <gobject/gbinding.h>#include <gobject/gboxed.h>#include <gobject/genums.h>#incl 阅读全文
posted @ 2011-12-12 14:38 alxe_yu 阅读(328) 评论(0) 推荐(0)
摘要:g_signal_emit ()void g_signal_emit (gpointer instance, guint signal_id, GQuark detail, ...);Emi... 阅读全文
posted @ 2011-12-11 19:14 alxe_yu 阅读(979) 评论(0) 推荐(0)
摘要:dbus-glib是dbus底层接口的一个封装。本讲我们用dbus-glib做一个dus接口,并写一个客户程序。1、接口1.1、编写接口描述文件首先编写接口描述文件。我们要实现的连接的公共名是"org.freesmartphone.ogsmd",接口描述文件如下:$ cat smss.xml<?xml version="1.0" encoding="UTF-8" ?><node name="/org/freesmartphone/GSM/Device"> <interface name 阅读全文
posted @ 2011-12-08 17:06 alxe_yu 阅读(396) 评论(0) 推荐(0)
摘要:dbus实例讲解(四下):使用dbus-glib4、复杂的数据类型在dbus中怎样处理复杂的数据类型?第一个建议是尽量不要使用复杂的数据类型。但如果确实需要呢?有的网友建议用GArray作为容器,不管什么参数,在客户端都手工放入GArray,在服务器端再自己取出来。这确实是个思路,比较适合服务器和客户端都是自己开发的情况。还有一篇"How to pass a variant with dbus-glib" 介绍了怎样用GValue传递复杂的数据类型,读者可以参考。下面看看在我们的例子中是怎样处理a{sv}参数的:$ cat sms_features.h#ifndef SMS 阅读全文
posted @ 2011-12-08 17:06 alxe_yu 阅读(460) 评论(0) 推荐(0)
摘要:假设dbus的服务器端会发送一个信号,比如(服务器端用python实现) @dbus.service.signal(INTERFACE_URI, signature='i') def StatusChanged(self, status): pass这里,服务器发送一个状态变化的信号,信号传过来的参数是一个int型现在现在客户端捕捉这个信号首先假设已经连上dbus,并 获得DBusGProxy *对象 proxy。1。 要先注册监听信号dbus_g_proxy_add_signal(proxy, StatusChanged, G_TYPE_INT, G_TYPE_INVALID 阅读全文
posted @ 2011-12-08 16:59 alxe_yu 阅读(1447) 评论(0) 推荐(0)
摘要:org.freedesktop.DBus.GLib.AsyncThis annotation marks the method implementation as an asynchronous function, which doesn't return a response straight away but will send the response at some later point to complete the call. This is used to implement non-blocking services where method calls can ta 阅读全文
posted @ 2011-12-08 16:22 alxe_yu 阅读(1085) 评论(0) 推荐(0)
摘要:#include <glib.h> typedef struct NetList{ gchar *stat; gchar *name; gchar * id; }NetList; GSList* list = NULL; static void hash_print (gpointer key, gpointer val, gpointer data) { printf ("%s --> %s\n", (char *) key, (char *) val); NetList *net = (NetList *) data; if((char *)key== 阅读全文
posted @ 2011-12-08 10:59 alxe_yu 阅读(808) 评论(0) 推荐(0)
摘要:hash表是一种提供key-value访问的数据结构,通过指定的key值可以快速的访问到与它相关联的value值。hash表的一种典型用法就是字典,通过单词的首字母能够快速的找到单词。关于hash表的详细介绍请查阅数据结构的相关书籍,我这里只介绍glib库中hash表的基本用法。要使用一个hash表首先必须创建它,glib库里有两个函数可以用于创建hash表,分别是g_hash_table_new()和g_hash_table_new_full(),它们的原型如下:GHashTable*g_hash_table_new(GHashFunchash_func,GEqualFunckey_equa 阅读全文
posted @ 2011-12-07 18:31 alxe_yu 阅读(1003) 评论(0) 推荐(0)
摘要:http://maemo.org/api_refs/5.0/5.0-final/dbus-glib_2/group__DBusGLibInternals.html 1. dbus_g_proxy_connect_signalvoid dbus_g_proxy_connect_signal(DBusGProxy *proxy,const char *signal_name,GCallbackhandler,void *data,GClosureNotifyfree_data_func)dbus_g_proxy_connect_signal: : a proxy for a remote inte 阅读全文
posted @ 2011-12-07 13:54 alxe_yu 阅读(183) 评论(0) 推荐(0)
摘要:对D-Bus Tutorial 进行了一些翻译加上自己的一些理解。有很多种IPC或者网络通信系统,如:CORBA, DCE, DCOM, DCOP, XML-RPC, SOAP, MBUS, Internet Communications Engine (ICE)等等,可能会有数百种,dbus的目的主要是下面两点:1.在同一个桌面会话中,进行桌面应用程序之间的通讯2.桌面程序与内核或者守护进程的通信。Dbus是一套进程通信体系,它有以下几层:1.libdbus库,提供给各个应用程序调用,使应用程序具有通信和数据交换的能力,两个应用程序可以直接进行通信,就像是一条socket通道,两个程序之间建 阅读全文
posted @ 2011-12-06 17:56 alxe_yu 阅读(573) 评论(0) 推荐(0)
摘要:g_closure_marshal提供了一些常用的closure的实现,但是由于返回值和参数列表的可能性实在太多,无法穷举,所以,gobject提供了一个程序:glib-genmarshal来帮我们生成指定的closure的实现(自动生成代码)。在当前目录下创建一个文件,比如:marshal.list,包含内容如下:VOID:UINT,UINT就是返回值和参数列表。然后:glib-genmarshal --header --prefix=gst_play_marshal marshal.list这样就生成了头文件的内容,保存下来存成gstplay-marshal.h,搞定。glib-genma 阅读全文
posted @ 2011-12-06 13:42 alxe_yu 阅读(597) 评论(0) 推荐(0)
摘要:一 通常的函数调用一个通常的函数调用的例子://自行包含头文件void MyFun(int x);//此处的申明也可写成:void MyFun( int );int main(int argc, char* argv[]){MyFun(10);//这里是调用MyFun(10);函数return 0;}void MyFun(int x)//这里定义一个MyFun函数{printf(“%d\n”,x);}这个MyFun函数是一个无返回值的函数,它并不完成什么事情。这种调用函数的格式你应该是很熟悉的吧!看主函数中调用MyFun函数的书写格式:MyFun(10);我们一开始只是从功能上或者说从数学意义 阅读全文
posted @ 2011-12-01 14:45 alxe_yu 阅读(157) 评论(0) 推荐(0)
摘要:1. su "yum install stardict"2. stardict 阅读全文
posted @ 2011-11-29 14:58 alxe_yu 阅读(123) 评论(0) 推荐(0)
摘要:#define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。 1 #define命令剖析 1.1 #define的概念 #define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。 该命令有两种格式:一种是简单的宏定义,另一种是带参数的宏定义。 (1) 简单的宏定义: #def 阅读全文
posted @ 2011-11-28 16:29 alxe_yu 阅读(295) 评论(0) 推荐(0)
摘要:1.安装ibus输入法su -c’yum install ibus ibus-pinyin’安装完毕后添加输入法系统 -> 首选项 ->输入法 -> 选择输入法 (ibus)-> 中文 -> 汉语 PinYin -> 添加到这里 fedora12下的ibus拼音输入法就安装完毕了2.安装scim输入发su -c’yum install scim scim-pinyin’安装完毕后添加输入法系统 -> 首选项 ->输入法 -> 选择输入法 (scim)-> 中文 -> 汉语 PinYin -> 添加 阅读全文
posted @ 2011-11-28 16:23 alxe_yu 阅读(261) 评论(0) 推荐(0)
摘要:说明 : 将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expressionexpression可以是一个用逻辑运算符not、and、or组成的复合条件。逻辑运算符and、or、not的含义为:(1)and:逻辑与,在命令中用”-a”表 阅读全文
posted @ 2011-11-23 17:54 alxe_yu 阅读(257) 评论(0) 推荐(0)
摘要:用ls -l命令查看某一个目录会得到一个9个字段的列表.第1行显示的信息: 总用量(total) — 这个数值是该目录下所有文件及目录列表第5个字段的和(以k为单位),也就是该目录的大小.第1字段: 文件属性字段文件属性字段总共有10个字母组成,第一个字母表示文件类型,如果这个字母是一个减号”-”,则说明该文件是一个普通文件.字母”d”表示该文件是一个目录,字母”d”,是dirtectory(目录)的缩写.请注意,一个目录或者说一个文件夹是一个特殊文件,这个特殊文件存放的是其他文件和文件夹的相关信息.第2字段文件硬链接数或目录子目录数第3字段:文件拥有者第4字段:文件拥有者所在的组第5字段:文 阅读全文
posted @ 2011-11-23 17:44 alxe_yu 阅读(138) 评论(0) 推荐(0)
摘要:dbus-glib是dbus底层接口的一个封装。本讲我们用dbus-glib做一个dus接口,并写一个客户程序。1、接口1.1、编写接口描述文件首先编写接口描述文件。我们要实现的连接的公共名是"org.freesmartphone.ogsmd",接口描述文件如下:$ cat smss.xml <?xml version="1.0" encoding="UTF-8" ?> <node name="/org/freesmartphone/GSM/Device"> <interface na 阅读全文
posted @ 2011-11-23 14:51 alxe_yu 阅读(826) 评论(0) 推荐(0)
摘要:definition:structGList{gpointerdata; GList*next; GList*prev;};/**file:g_list.c*desc:这个文件用于演示glib库里双向链表GList的用法*compile:gcc-og_listg_list.c`pkg-config--cflags--libsglib-2.0`*/#include<glib.h>voiddisplay_list(GList*list){GList*it=NULL;/*遍历链表*/for(it=list;it;it=it->next){printf("%s", 阅读全文
posted @ 2011-11-23 14:50 alxe_yu 阅读(954) 评论(0) 推荐(0)