freetype使用详解(中文)

freetype使用详解(中文)
freetype使用详解(中文)

Linux下抓包工具tcpdump应用详解

TCPDUMP简介 在传统的网络分析和测试技术中,嗅探器(sniffer)是最常见,也是最重要的技术之一。sniffer工具首先是为网络管理员和网络程序员进行网络分析而设计的。对于网络管理人员来说,使用嗅探器可以随时掌握网络的实际情况,在网络性能急剧下降的时候,可以通过sniffer 工具来分析原因,找出造成网络阻塞的来源。对于网络程序员来说,通过sniffer工具来调试程序。 用过windows平台上的sniffer工具(例如,netxray和sniffer pro软件)的朋友可能都知道,在共享式的局域网中,采用sniffer工具简直可以对网络中的所有流量一览无余!Sniffer 工具实际上就是一个网络上的抓包工具,同时还可以对抓到的包进行分析。由于在共享式的网络中,信息包是会广播到网络中所有主机的网络接口,只不过在没有使用sniffer工具之前,主机的网络设备会判断该信息包是否应该接收,这样它就会抛弃不应该接收的信息包,sniffer工具却使主机的网络设备接收所有到达的信息包,这样就达到了网络监听的效果。 Linux作为网络服务器,特别是作为路由器和网关时,数据的采集和分析是必不可少的。所以,今天我们就来看看Linux中强大的网络数据采集分析工具——TcpDump。 用简单的话来定义tcpdump,就是:dump the traffice on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的东东之一。 顾名思义,TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。 普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包。 ----------------------- bash-2.02# tcpdump

比特币0.9.2版编译中文手册

比特币0.9.2中文版编译手册 日期:2014-07-01 构建比特币源码,是一件十分费时费力的工作,尤其在windows系统中编译比特币源码更加的麻烦,经过一两天努力,终于在windows7 64位系统中成功编译出了比特币源文件。现在总结如下,首先准备一套干净的windows7 64位操作系统,最好是使用vbox或者vmware 虚拟机建立一个专用系统,这样的可以防止其它干扰导至编译失败,接下来说说,我的编译过程: 1.安装msys系统 msys作用是在windows系统中重建linux系统编译环境,在msys系统下操作,就像linux 中的操作一样,具有相同的语法命令。从下面的网址中下载msys最新版: https://www.360docs.net/doc/f38471292.html,/projects/mingw/files/Installer/mingw-get-setup.exe/download 然后运行mingw-get-setup.exe文件后,选择安装目录为H:\MinGW,之后软件会首先更新下载库,更新成功会弹出一个窗口MinGW installation manager,在这个窗口中,只下载msys相关的包文件,不要下载mingw相关文件,因为不使用它带的这个mingw。 主要如下面所示: msys-base-bin msys-autoconf-bin msys-automake-bin msys-libtool-bin 选择好之后,点击Installation->Apply changes即可。一定要确保mingw包没有被下载,这里我们只需要msys相关系统,也要确保msys-gcc和msys-w32api等包没有被下载,否则当我们执行编译时,可能会调用这些不该出现的包文件,而导至编译失败。 2.安装perl系统 由于在编译比特币时,需要调用一些perl脚本,所以从下面的网址中下载一个perl安装程序,然后安装即可。 https://www.360docs.net/doc/f38471292.html,/ActivePerl/releases/5.18.1.1800/ActivePerl-5.18.1.1800-M SWin32-x64-297570.msi

以太网常用抓包工具介绍_464713

v1.0 可编辑可修改 i RTUB_105_C1 以太网常用抓包工具介绍 课程目标: 课程目标1:了解常见抓包软件 课程目标2:掌握根据需要选择使用抓包软件并分析报文

v1.0 可编辑可修改 目录 第1章以太网常用抓包工具介绍.............................................................................................................. 1-1 1.1 摘要 ................................................................................................................................................ 1-1 1.2 简介 ................................................................................................................................................ 1-1 1.3 抓包工具介绍 ................................................................................................................................ 1-2 1.4 Sniffer使用教程 .......................................................................................................................... 1-3 1.4.1 概述 ..................................................................................................................................... 1-3 1.4.2 功能简介 ............................................................................................................................. 1-3 1.4.3 报文捕获解析 ..................................................................................................................... 1-4 1.4.4 设置捕获条件 ..................................................................................................................... 1-8 1.4.5 报文放送 ........................................................................................................................... 1-10 1.4.6 网络监视功能 ................................................................................................................... 1-12 1.4.7 数据报文解码详解 ........................................................................................................... 1-14 1.5 ethreal的使用方法 .................................................................................................................... 1-28 1.5.1 ethreal使用-入门 ......................................................................................................... 1-28 1.5.2 ethereal使用-capture选项 ......................................................................................... 1-30 1.5.3 ethereal的抓包过滤器 ................................................................................................... 1-31 1.6 EtherPeekNX ................................................................................................................................ 1-35 1.6.1 过滤条件设置 ................................................................................................................... 1-35 1.6.2 设置多个过滤条件 ........................................................................................................... 1-41 1.6.3 保存数据包 ....................................................................................................................... 1-45 1.6.4 分析数据包 ....................................................................................................................... 1-47 1.6.5 扩展功能 ............................................................................................................................. 1-1 1.6.6 简单分析问题的功能 ......................................................................................................... 1-5 1.6.7 部分解码功能 ..................................................................................................................... 1-9 1.6.8 案例 ..................................................................................................................................... 1-1 1.7 SpyNet ............................................................................................................................................ 1-1 1.7.1 使用简介 ............................................................................................................................. 1-1 1.7.2 使用步骤: ......................................................................................................................... 1-2 i

交叉编译几种常见的报错

交叉编译几种常见的报错 由于是第一次交叉编译,不知道会出现什么问题,思路就是先把gcc和ld都改成arm的,然后遇到什么问题在解决什么问题,以下过程都是在这个思路下进行。 1.指定arm的编译器和连接器: 只是把gcc改为arm-none-linux-gnueabi-gcc,ld改为arm-none-linux-gnueabi-ld,其他的都没有 修改。出现以下错误: arm-none-linux-gnueabi-ld: warning: library search path "/usr/local/lib" is unsafe for cross-compilation arm-none-linux-gnueabi-ld: skipping incompatible /usr/local/lib/libfreetype.so when searching for -lfreetype arm-none-linux-gnueabi-ld: skipping incompatible /usr/local/lib/libfreetype.a when searching for -lfreetype arm-none-linux-gnueabi-ld: cannot find -lfreetype 分析原因是:链接的这些库文件都是在PC编译器下编译出来的,现在把它们和用arm-none-linux-gnueabi-gcc编译出来的文件做链接,当然会出错。 解决方法:这些库重新用arm-gcc重新编译生成相应的库。 下面使用是重新编译库文件的过程: 重新编译freetype 根据交叉编译的文档,我创建了一个文件夹/usr/local/arm-linux来存放编译后的库文件。执行: ./configure –host=arm-none-linux-gnueabi –prefix=/usr/local/arm-linux 注意:host的参数应该是交叉编译环境的前缀。 另外,freetype自动生成的include文件夹有点小问题,编译完成后的include目录结构是 /include/ft2build.h和

抓包工具演示

Wireshark抓包软件简单使用 wireshark是一款抓包软件,比较易用,在平常可以利用它抓包,分析协议或者监控网络。 一、抓包使用简单过程: Wireshark启动界面: 看到启动界面后,现在主要会用到这几个按钮:

2.点击“开始”获取抓取结果(抓取到的为未加密数据)

4.显示结果:

加密数据抓取: 抓取结果:

二、捕捉过滤器使用方法: Protocol(协议): 可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp. 如果没有特别指明是什么协议,则默认使用所有支持的协议。 Direction(方向): 可能的值: src, dst, src and dst, src or dst 如果没有特别指明来源或目的地,则默认使用“src or dst”作为关键字。 例如,”host 10.2.2.2″与”src or dst host 10.2.2.2″是一样的。 Host(s): 可能的值:net, port, host, portrange. 如果没有指定此值,则默认使用”host”关键字。 例如,”src 10.1.1.1″与”src host 10.1.1.1″相同。 Logical Operations(逻辑运算): 可能的值:not, and, or. 否(“not”)具有最高的优先级。或(“or”)和与(“and”)具有相同的优先级,运算时从左至右进行。 例如,

“not tcp port 3128 and tcp port 23″与”(not tcp port 3128) and tcp port 23″相同。“not tcp port 3128 and tcp port 23″与”not (tcp port 3128 and tcp port 23)”不同。 例子: tcp dst port 3128 //捕捉目的TCP端口为3128的封包。 ip src host 10.1.1.1 //捕捉来源IP地址为10.1.1.1的封包。 host 10.1.2.3 //捕捉目的或来源IP地址为10.1.2.3的封包。 ether host e0-05-c5-44-b1-3c //捕捉目的或来源MAC地址为e0-05-c5-44-b1-3c的封包。如果你想抓本机与所有外网通讯的数据包时,可以将这里的mac地址换成路由的mac 地址即可。 src portrange 2000-2500 //捕捉来源为UDP或TCP,并且端口号在2000至2500范围内的封包。 not imcp //显示除了icmp以外的所有封包。(icmp通常被ping工具使用) src host 10.7.2.12 and not dst net 10.200.0.0/16 //显示来源IP地址为10.7.2.12,但目的地不是10.200.0.0/16的封包。 (src host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8 //捕捉来源IP为10.4.1.12或者来源网络为10.6.0.0/16,目的地TCP端口号在200至10000之间,并且目的位于网络10.0.0.0/8内的所有封包。 src net 192.168.0.0/24 src net 192.168.0.0 mask 255.255.255.0 //捕捉源地址为192.168.0.0网络内的所有封包。

WIN8系统抓包工具使用介绍

抓包过程简要说明 对于工程上某些需要确认网管下发到设备上的数据或者设备上报给网管的数据正确性,需要对网卡进行数据抓包分析。现将详细的抓包方法进行说明(此版本抓包工具可用于windows server2003、WIN7和windows server2008操作系统上,其他的没试用过) 说明: windows server2008操作系统有两种,一种32位,一种64位。 查看操作系统位数的方法有两种(输入命令后可能会等待5~20s时间): 1、运行---输入“cmd”---在命令提示符窗口中输入“systeminfo”---找到其中的“System type:(系统类型)”对应的就是了。 2、运行DXDIAG就可以查看系统位数了。x86代表32位,X64代表64位! 该抓包工具根据操作系统位数有以下区别,x86为32位操作系统,x64为64位操作系统。本文档以32位操作系统为例进行说明。 步骤一:将附件的netmon_34.rar解压到任何位置,例如D:\ 步骤二:运行D:\netmon_3\ NM34_x86.exe文件,执行安装,步骤中全部选择默认安装即可。安装完成后,桌面会生成Microsoft Network Monitor 3.4的快捷图标。 步骤三:双击运行Microsoft Network Monitor 3.4,在菜单栏选择Tools->Options..可以看到下面的面板,在Faster Parsing上点击右键选择Create->Create From Selected,

步骤四:在Create New Parser Profile面板中可以自己命名Name(本例中命名为fiberhome_set,可自定义), 并选中路径列表中的第2项,然后选择Open Folder,

FreeType的缓存

FreeType的缓存.txt你妈生你的时候是不是把人给扔了把胎盘养大?别把虾米不当海鲜。别把虾米不当海鲜。 FreeType的缓存子系统提供了一个高性能的管理face、size、glyph image和charmap的途径。 I. Requirements and Design Goals: When dealing with fonts, caching rapidly becomes a necessity for at least the following reasons: 当处理字体时,高速缓存是必要的,原因如下: l 打开字体文件是相当慢的,因为它需要加载数据到内存中。所以,尽可能地保持FT_Face对象处于打开状态是一个好主意。 l 每一个FT_Face 或 FT_Size对象会占用几百KB,假设它总是很大,应该限制打开的face的个数到最小。 l 每个face包含成百上千的字形,由于通常只是使用一个face中的一小部分字形,一次性加载所有的字形是完全没有必要的。应该缓存我们经常使用的字形。 l 当属于给定face的所有字形已经载入内存时,对应的FT_Face对象可以被关闭已减少内存的占用。 FreeType缓存子系统提供了自动完成上述任务的很好的途径。 II. The Cache Manager: FTC_Manager用于处理缓存中的各种数据。应首先调用FTC_Manager_New 来创建它。 1. 通过FTC_FaceID鉴别face: FTC_Manager并不直接知晓哪些字体被安装了或者在运行期是否有效。应用程序有责任定位和鉴别face,并打开相应的字体文件。这意味着应用程序必须使用一个指针(FTC_FaceID)来唯一鉴别一个给定的有效的或已安装的face。虽然这个指针对于FTC_Manager来说并不重要,但是它们的值在程序运行期必须始终保持不变,用于关联缓存的数据和它们相应的face。 应用程序也必须提供(在FTC_Manager_New期间)一个专门的回调函数FTC_Face_Requester。这个外观请求器管理从一个给定的FTC_FaceID转换到一个新FT_Face对象,这通常暗示着调用FT_New_Face 或FT_Open_Face。

操作系统

第7章移动互联网技术 7.1 移动操作系统 智能手机操作系统是一种运算能力及功能比传统功能手机更强的操作系统。使用最多的操作系统有:Android、iOS、Symbian、Windows Phone和BlackBerry OS。他们之间的应用软件互不兼容。因为可以像个人电脑一样安装第三方软件,所以智能手机有丰富的功能。智能手机能够显示与个人电脑一致的正常网页,它具有独立的操作系统以及良好的用户界面,拥有很强的应用扩展性、能方便随意地安装和删除应用程序。 7.1.1 Android概述 Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟进行开发改良,逐渐扩展到平板电脑及其他领域上。Android的主要竞争对手是苹果公司的iOS以及RIM的Blackberry OS。2011年第一季度,Android 在全球的市场份额首次超过塞班系统,跃居全球第一。 7.1.1.1Android系统架构 图android 系统架构图

1)Linux 内核层: Android系统是基于Linux 2.6内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。 2)Android 运行时环境: a)Android 核心库:提供了JA V A库的大多数功能 b)Dalvik 虚拟机: 依赖于linux 内核的一些功能,比如线程机制和底层内存管理机制。同时虚拟机是基于寄存器的。Dalvik 采用简练、高效的byte code 格式运行,它能够在低资耗和没有应用相互干扰的情况下并行执行多个应用,每一个Android 应用程序都在它自己的进程中运行,并且都拥有一个独立的Dalvik 虚拟机实例。Dalvik 虚拟机中可执行文件为.dex文件,该格式文件针对小内存使用做了优化。所有的类都经由JA V A 编译器编译,然后通过SDK中的"dx" 工具转化成.dex 格式由虚拟机执行。 3)类库: a)系统C 库(libc):专门为基于embedded linux的设备定制的。 b)媒体库:支持多种常用的音频、视频格式回放和录制,同时支持静态图像文 件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。 c)SurfaceManager :对显示子系统的管理,并且为多个应用程序提供了2D和 3D 图层的无缝融合

抓包工具使用简介

抓包工具wireshark使用简介 在wireshark安装包安装完成后,以管理员身份运行Wireshark.exe,进入wireshark主界面,如图1-1所示。 图1-1 wireshark主界面 在主界面上,在菜单栏中选择Capture->interface,在点击interface按钮弹出的对话框中点击start按钮,进入如图1-2所示界面。 图1-2启动wireshark 当您在客户端点击某路视频时,会出现如图1-3所示界面,目前我们播放视频采用的是UDP协议,你在抓包工具中看到的大部分数据包都是UDP数据包。此时如果你只想去查看给某台机器上发的数据包时,可以通过过滤条件进行过滤,比如我只想查看我给172.20.32.168这台机器上发送的数据包,那么你只需要在Filter后面输入

ip.dst==172.20.32.168即可,需要注意的是这里是“==”而不是“=”。多个条件之间用&&。 数据过滤操作如图1-4所示。 图1-3 视频数据展示界面 图1-4数据过滤界面 此时你看到的数据包就都是发给172.20.32.168的UDP数据包,此处需要说明的是如果你点击视频时播放不出来视频,那么是不会有持续的UDP数据包发给指定的客户端的,客户端控件播放不出来视频那就不是控件的问题了,因为就根本没有视频数据包发送到客户端。 如果你在抓包时发现有持续的数据包时,那么你想看一下你抓的数据包是否正常,能不能播放出来,那么也可以通过wireshark将抓的数据包保存成文件用VLC播放试一下,具体操作流程如下: (1)点击某条视频数据,右键选择decode as(如图1-5),此时会弹出如图1-6所示界面;(2)在如图1-6所示的界面上选择RTP,点击OK,此时就会把所有的UDP数据包转换成RTP数据包,转换之后界面如图1-7所示; (3)在图1-7所示的界面上,在菜单栏中选择Telephony,在下拉的菜单中选择RTP,在其子菜单中选择Stream analysis,会弹出如图1-8所示界面; (4)在图1-8所示的界面上点击Savepayload按钮,进入视频保存页面(如图1-9),选择你保存的位置并设置保存的视频文件名; (5)此时就会在保存的目录下生成出来对应的视频文件,此处需要说明的是视频文件不

《The design of FreeType 2》中译版

《The design of FreeType 2》中译版 介绍 这份文档提供了FreeType 2函数库设计与实现的细节。本文档的目标是让开发人员更好的理解FreeType 2是如何组织的,并让他们扩充、定制和调试它。 首先,我们先了解这个库的目的,也就是说,为什么会写这个库: * 它让客户应用程序方便的访问字体文件,无论字体文件存储在哪里,并且与字体格式无关。* 方便的提取全局字体数据,这些数据在平常的字体格式中普遍存在。(例如:全局度量标准,字符编码/字符映射表,等等) * 方便的提取某个字符的字形数据(度量标准,图像,名字,其他任何东西) * 访问字体格式特定的功能(例如,SFNT表,多重控制,OpenType轮廓表) Freetype 2的设计也受如下要求很大的影响: * 高可移植性。这个库必须可以运行在任何环境中。这个要求引入了一些非常激烈的选择,这些是FreeType2的低级系统界面的一部分。 * 可扩展性。新特性应该可以在极少改动库基础代码的前提下添加。这个要求引入了非常简单的设计:几乎所有操作都是以模块的形式提供的。 * 可定制。它应该能够很容易建立一个只包含某个特定项目所需的特性的版本。当你需要集成它到一个嵌入式图形库的字体服务器中时,这是非常重要的。 * 简洁高效。这个库的主要目标是只有很少cpu和内存资源的嵌入式系统。 这份文档的其他部分分为几个部分。首先,一些章节介绍了库的基本设计以及Freetype 2内部对象/数据的管理。 接下来的章节专注于库的定制和与这个话题相关的系统特定的界面,如何写你自己的模块和如何按需裁减库初始化和编译。 一、组件和API FT可以看作是一组组件,每个组件负责一部分任务,它们包括 * 客户应用程序一般会调用FT高层API,它的功能都在一个组件中,叫做基础层。 * 根据上下文和环境,基础层会调用一个或多个模块进行工作,大多数情况下,客户应用程序不知道使用那个模块。 * 基础层还包含一组例程来进行一些共通处理,例如内存分配,列表处理、io流解析、固定点计算等等,这些函数可以被模块随意调用,它们形成了一个底层基础API。 如下图,表明它们的关系:

应用freetype开发描边字体

应用freetype开发描边字体 在天龙八部,聊个斋这些国产的游戏中,都用到了freetype,并使用到freetype提供的描边生成方法。 关于freetype怎么应用描边,有个sample,链接如下 https://www.360docs.net/doc/f38471292.html,/freetype2/docs/tutorial/example2.cpp 但是这个sample中的生成描边的方式是低效率的,因为是间接生成的,在描绘函数里面得到span的信息,然后又遍历了span再生成bitmap,最后再输出。 经过我一个通宵研究,我想出了一个更为直接的描绘方式。 只要把这个sample中间的一部分替换成如下代码就可以了: FT_Outline *outline = &reinterpret_cast(glyph)->outline; FT_Glyph_Get_CBox(glyph, FT_GL YPH_BBOX_GRIDFIT, &bbox); int width = (bbox.xMax - bbox.xMin)>>6; int rows = (bbox.yMax - bbox.yMin)>>6; bmp.buffer = new unsigned char[width * rows]; memset(bmp.buffer, 0, width * rows); bmp.width = width; bmp.rows = rows; bmp.pitch = width; bmp.pixel_mode = FT_PIXEL_MODE_GRAY; bmp.num_grays = 256; memset(¶ms, 0, sizeof (params)); params.source = outline; params.target = &bmp; params.flags = FT_RASTER_FLAG_AA; FT_Outline_Translate(outline,-bbox.xMin,-bbox.yMin); FT_Outline_Render(library, outline, ¶ms); save_edge_buffer = bmp.buffer; FT_BBox bbox_in; FT_Glyph glyph_fg; FT_Get_Glyph(size->face->glyph, &glyph_fg); FT_Glyph_Get_CBox(glyph_fg, FT_GL YPH_BBOX_GRIDFIT, &bbox_in); bmp.buffer = new unsigned char[width * rows]; memset(bmp.buffer, 0, width * rows); bmp.width = width; bmp.rows = rows;

抓包工具学习总结

抓包工具学习 一、配置镜像端口方法:(机换器型号:S2008) 方法一: 1、打开串口,把串口线接入交换机端口 2、从串口“选项-会话选项”把“波特率设为9600” 3、按确认键 4、输入system-view 5、输入monitor-port e0/8 //8指的是PC线接到交换机的端口号(如果要撤销该端口使用命令: (undo port mirror Ethernet 0/1 to Ethernet 0/2 observing-port Ethernet 0/8) (undo monitor-port e0/8),如果需查看端口是否成功用该命令:display mirror) 6、port mirror Ethernet 0/1 to Ethernet 0/2 //指的是盒接到交换机1到2之间的端口号都可 以抓包 7、配置完后启动Ethereal抓包 方法二: 可以一次性定义镜像和被镜像端口 port mirror Ethernet 0/1 to Ethernet 0/2 observing-port Ethernet 0/8 //0/1 to Ethernet 0/2被镜像端口号,0/8指PC接到交换机端口号 二、抓包工具如何使用: 1、抓包工具基础功能介绍 从本机上双击Ethereal工具,在工具栏目点击capture->Interfaces选项界面 Packets/s 指的是每秒钟抓包的个数。Packets 指抓包总数量,点击options进入抓包过虑条件页面,Interface 选择本机网卡,IP address 指本机IP;capture packets in promiscuous mods 指的混合模式抓包;capture Filter 指是输入过虑条件;file 指定包存放路径;update list of packets in real time 指抓包过程中“实时更新”;Automatic scrolling in live capture 指以滚动方式显示;Hide capture info dialog 指显示TCP/UDP/ICMP/ARP等信息点击start开始抓包;cancle 退出抓包 2、抓包前过虑使用命令: 在capture->options->capture Filter对应框输入: Host 119.1.1.180 //指的是抓180机顶盒包 Ether host 00:07:63:88:88:08 //在没IP情况下抓盒子包,比如DHCP还未给机顶盒分配到IP时,此时需要抓包 Port 33200 //指指定端口抓包 Port 554 //指rtsp包 Port 123 //指NTP服务器包 (Port 33200 || port 8082 ) && host 119.1.1.180 //指抓33200端口同时也抓8082端口包,同时还抓180盒子包 Host 238.255.2.2 //指抓一个组播流包

几种GUI比较

几种嵌入式GUI介绍 一、MicroWindows Century软件公司维护的,较早出现的开放源代码的嵌入式嵌入式GUI 特点: 1主要特色:提供较为完善的图形功能,支持多种外部设备输入,包括LCD、鼠标和键盘等。 2核心是基于显示设备接口的,绝大部分使用C语言开发的,移植性很强。 3主要在linux、wince等操作系统上运行。 4对硬件资源的需求: 文件存储空间:100k-600k 输入输出接口:支持frambuffer ,支持每像素1、2、4、8、16、24、32.支持彩色和灰度显示。支持鼠标、键盘、触摸屏。 CPU:支持intel 16位32位,MIPS R4000、ARM。 二、Qt/Embedded(简称QtE) QtE是一个专门为嵌入式系统设计图形用户界面的工具包,挪威Trolltech 公司产品。1995年正式发行第一个版本Qt0.9。Linux桌面系统的KDE 就是基于Qt库开发的,Qt与linux操作系统的兼容性最好。

特点: 1主要特色:支持多种平台,移植时只需重新编译代码而不需要对代码进行修改。 2模块化,可剪裁,极其适合嵌入式系统的“小而快”的要求。 3用C++编写,为开发者提供清晰的框架。 4 For free 版本代码完全开放。https://www.360docs.net/doc/f38471292.html, 三、uc/GUI uC/GUI是一个通用的嵌入式应用的图形模块,它是美国Micrium公司开发的一种高效的、与处理器和LCD控制器独立的通用GUI,可以适用各种CPU和LCD,uC/GUI完全以ANSI-C编写,因此它与处理器无关,在单任务和多任务操作系统都可以很好的应用、可以很方便地移植到不同的操作系统和嵌入式微处理器上,并可支持不同尺寸的图形液晶显示器。它采用层次化的设计,功能强大,移植方便,被广泛地应用于嵌入式领域,如PDA、机顶盒以及DVD NCD播放机等 (1)支持任何8位、16位和32位的CPU,只要求CPU具有相应的ANSI-C编译器即可; (2)所有硬件接口定义都使用可配置的宏; (3)字符、位图可显示与LCD的任意点,并不限制与字节长度的整数倍数地址; (4)所有程序在长度和速度方面都进行了优化,结构清晰;

字体美化

Ubuntu 8.10Ubuntu 8.10字体美化原理初步探索字体美化原理初步探索 前言 本人(Gary)对操作系统的美观要求颇高,因为没有一个看上去舒服的系统就很难激发学习使用的热情。而Linux跟Windows相比在字体显示的美观度方面(特指汉字)差距颇大。一来微软投入了大量的资源和财力开发出了一些特定的商业字库供Windows使用,而来Windows本身也是以易用性强著称,所以微软在背后也做了大量的工作让使用者安装好系统就能近乎完美的浏览各种文档和页面。即使默认没有安装某种字体或者字库,想要增加也仅仅靠点击几下鼠标就能达到目的,不可谓不是已经做到极致。老实说至少在这个方面不管哪个Linux的发行版都是比不上。 虽然如此,但是由于Linux自身功能的强大性和自由性,我坚信可以定制修改出一个让人满意的字体显示效果,但是要达到这个目的可不是点点鼠标就可以的,背后隐藏着很多的知识。对于像我这样未入门的人来说门槛有些高。虽然网上有很多美化的方法和步骤,可是在我尝试过后都不是那么令人满意。主要有这样几个方面的问题:1. 每个人的系统安装情况不同,你有安装过的包我不一定装了。你方便找到或者安装上的包对于我来说却可能非常困难;2. 命令繁杂且都没有任何说明,让人难以理解,特别是对于初学者;3.美化以后绝大部分总会留有美中不足,比如大部分都好看了,可是某某某应用程序还是不行之类的事情经常发生;4.即使幸运的美化好了让你重新帮别人再弄一次估计都很难重现,因为根本不懂原理或者理解很浅薄容易遗忘。我就是因为上面4点原因因此决心好好研究一下Linux系统下的字体系统,以我目前新装上的Ubuntu 8.10为蓝本在网上搜索了大量的相关文章撰写本文,只是来源琐碎,有一些来源链接丢失了,实在是不好意思。不过本文也融入了大量的个人理解,并且修正了很多的错误。大家可以随意转载,没有任何限制,也不用通知本人,只需要连同前言部分也一起转载就可以了。如有错误欢迎批评指正,以便及时修正,免得误人子弟。 如有问题需要探讨请发送邮件到 预备知识 1.1.有衬线字体有衬线字体有衬线字体((Serif Serif)、)、)、无衬线字体无衬线字体无衬线字体((Sans Serif)Sans Serif)和等宽字体和等宽字体和等宽字体((Monospace Monospace)) 初看到“衫线”这个词时候以为是衬衫,心想字体还分什么有衬衫无衬衫?仔细一看才发现看错了,在字典里面查了一下发现原来“衫线”是一个术语起源于荷兰语,指字母的拐角或端点位置的修饰线。(如下图所示) 我们平时所用的Times New Roman、Georgia等就属于有衫线字体(Serif),而Arial、Tahoma、Verdana 等则属于无衫线字体(Sans Serif)。对中文而言,同样存在这两大种类,很明显,宋体、细明体(繁体中常用)等就属于Serif,而黑体、幼圆等则属于Sans Serif。总结一下个人觉得有衫线字体(Serif)就是有棱角而且粗细不一的,无衫线字体(sans serif)就是相对比较圆滑而且粗细均匀的字体。正是由于这个特性使得无衬衫字体(Sans Serif)比较醒目,而且字体较小的时候依然容易辨认,而有衫线字体(Serif)由于强调笔画始末,因此前后字母看上去连续性更强,适合阅读,可是字号小了以后有些细的地方就变得更细显得模糊或者发虚,但是大的时候却更有型。因此各有利弊,不同场合应该选择不同的字体来显示,这样才更加美观,也使得本文更有意义。 上面这两种字体类别又叫比例字体(Proportional Font),另外还有一种字体叫做等宽字体 (Monospace Font)。顾名思义就是字符宽度相等。在等宽字体中,字母 i,j 显得两侧餘白较多,

相关文档
最新文档