X Window研究笔记(21)
来源:互联网 发布:云母组阵面网络 编辑:程序博客网 时间:2024/06/11 20:17
X Window研究笔记(21)
转载时请注明出处和作者联系方式
作者联系方式:李先静
21.X Window 字符串与Atom
Atom是X Window中的一大特色,不把它弄清楚,可能会对阅读其它代码形成障碍。X Window把常用的字串用一个hash表来管理,并给这些字符串赋与一个ID,客户端通过ID引用字符串,避免在客户端和服务器端之间来回传递这些它们,这样可以大大提高传输效率。另外Atom是一个整数,对整数的比较也比对字符串的比较有更快的速度。管理Atom的主要函数有:
Atom
MakeAtom(string, len, makeit)
char *string;
unsigned len;
Bool makeit;
char *
NameForAtom(atom)
Atom atom;
{
NodePtr node;
if (atom > lastAtom) return 0;
if ((node = nodeTable[atom]) == (NodePtr)NULL) return 0;
return node->string;
}
void
FreeAtom(NodePtr patom)
{
if(patom->left)
FreeAtom(patom->left);
if(patom->right)
FreeAtom(patom->right);
if (patom->a > XA_LAST_PREDEFINED)
xfree(patom->string);
xfree(patom);
}
MakeAtom(string, len, makeit)
char *string;
unsigned len;
Bool makeit;
char *
NameForAtom(atom)
Atom atom;
{
NodePtr node;
if (atom > lastAtom) return 0;
if ((node = nodeTable[atom]) == (NodePtr)NULL) return 0;
return node->string;
}
void
FreeAtom(NodePtr patom)
{
if(patom->left)
FreeAtom(patom->left);
if(patom->right)
FreeAtom(patom->right);
if (patom->a > XA_LAST_PREDEFINED)
xfree(patom->string);
xfree(patom);
}
(待续)
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1809685
- X Window研究笔记(21)
- X Window研究笔记(21)
- X Window研究笔记(21)
- X Window研究笔记(21)
- X Window研究笔记(21)
- X Window研究笔记(21)
- X Window研究笔记(21)
- X Window研究笔记(21)
- X Window研究笔记(21)
- X Window研究笔记(21)
- X Window研究笔记(21)
- X Window研究笔记(21)
- X Window研究笔记
- X Window研究笔记(2)
- X Window研究笔记(3)
- X Window研究笔记(4)
- X Window研究笔记(5)
- X Window研究笔记(6)
- 高效率视频播放: GPU支持的YUV RGB 转化例子(2)
- 计算机专业学生应该学什么
- Windows Embedded从入门到精通课程介绍
- 原始的抽象
- Windows Embedded从入门到精通12月预告
- X Window研究笔记(21)
- GCCfor Win32 开发环境介绍(6)
- 在Tech Ed上要看到的Sync Service for ADO.NET
- (转)被误解的++——汉尼拔
- 父母一辈子把我们培养成人不容易!我们绝不应该对他们说出以下的十句话
- Windows Embedded从入门到精通课程介绍
- Windows Embedded CE 6.0开发初体验(四)跑个应用程序先
- XPe开发初体验(一)XPe概述
- 电子商务系统研究——Elasticpath5.1前台分析(一)