Linux mobile development & HTML5 Games/App

主要致力于基于linux的嵌入式系统的学习和研究,包括内核、驱动、GUI、MMI、软件设计方法和软件优化等方面....

X Window研究笔记(21)
X Window研究笔记(21)

转载时请注明出处和作者联系方式
作者联系方式:李先静 <xianjimli at hotmail dot com>

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->> XA_LAST_PREDEFINED)
        xfree(patom
->string);
    xfree(patom);
}


(待续)
 
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/absurd/article/details/1809685
文章标签: string 服务器 null
个人分类: 53.X Window研究
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

X Window研究笔记(21)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭