分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
转载时请注明出处和作者联系方式作者联系方式:李先静 <xianjimli at hotmail dot com>
事实上我对DirectFB的理解是比较肤浅的,几年前的确花了一些时间研究去DirectFB的实现,但只是集中在一部分功能的代码上。后来GUI(DirectFB/GTK)由一位同事接手了,我就没有花太多时间在上面了。可能是因为前面写过几篇关于DirectFB的文章,结果还真有不少网友把我当专家了。答应过一位网友写篇介绍DirectFB运行机制的文章,这个周末花了点时间写了这篇短文,放在这里供有需要的朋友参考。文中若有不当之处,望大家不吝指正。
DirectFBInit 这个函数其实并没有做什么特殊的初始化工作,只是加载了配置文件而已。加载的顺序如下,重复的配置内容以后加载的为优先:
系统全局配置文件,老版本文件为/etc/directfbrc,新版本文件为SYSCONFDIR"/directfbrc" 用户全局配置文件,文件为~/.directfbrc (系统)应用程序特定的配置文件 SYSCONFDIR"/directfbrc.应用程序名" (用户)应用程序特定的配置文件 ~/.directfbrc.应用程序名 命令行参数 DirectFBCreate 真正的初始化是在这里面进行的,严格的说这也不叫初始化了,因为这是创建DirectFB对象,对象当然是可以创建/销毁多次,而初始化通常只能做一次了。考虑到在一个进程中DirectFBCreate通常只会调一次,进程退出时才销毁,所以我们还是把它看作初始化。现在我们来看看DirectFBCreate做了什么: direct_initialize direct是一个基础库,这个函数主要做了两件事情: 初始化log。 direct实现了三种LOG方法,第一种是输出到stderr上,第二种是输出到指定的文件里,第三种是通过UDP输出到网络上。这种方法对嵌入式环境是特别有用的,因为很多时候没有机会看终端上的信息。 安装信号处理函数。主要是针对像SIGTERM这类会导致程序退出的SIGNAL,DirectFB希望在程序退出之前做些善后处理。值得学习的是direct是一个基础库,它不能直接调用上层组件的函数&