自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++ 返回值优化

1, 示例代码如下:2, GCC默认编译, 结果如下: 可以看到只有一次调用构造函数。3, 为GCC添加-fno-elide-constructors 选项, 这次就出现构造函数被调用了3次。

2016-02-16 17:29:25 536

原创 使用Python写的第一个网络爬虫程序

尝试写Python网络程序的一点经验总结

2015-06-02 16:34:46 5003 1

转载 Android:使用wpa_supplicant和dhcpd简单测试wifi

原文: http://blog.csdn.net/laojing123/article/details/7719132   Android系统中对于WIFI的设置集成到了“设置”中,其实跟手动设置差不多。这里介绍下如何手动连接WIFI,以方便以后调试WIFI。        第一步要做的就是要加载WIFI模块驱动了。当然如果你的WIFI是编译到内核里面的,就不需要的。我

2015-05-26 14:40:21 4015

转载 Linux PPP实现源码分析

原文链接请参考: http://blog.csdn.net/osnetdev/article/details/8958058作者:kwest [email protected]>  版本:v0.7©所有版权保留转载请保留作者署名,严禁用于商业用途 。 前言:PPP(Point to Point Protocol)协议是一种广泛使用的数据链路层协议

2015-05-21 15:16:11 2954

原创 Android: 3G上网的基本原理及RILD进程的流程分析

简单介绍Android中3G上网的基本框架分析,并描述了RILD进程的时序及流程等。

2015-05-20 17:09:30 2309

原创 设计模式: 命令(command)模式

1,定义:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。此模式也方便实现undo / redo之类的功能。2,类图

2015-05-20 16:52:08 467

原创 设计模式: 单件(singleton)模式(2015-04-29 11:46)

1,   定义:确保一个类只有一个实例,并提供一个全局访问点2,类图3,优点:       提供全局的一个实例;       延迟实例化;(当然也可以在static变量定义的同时创建Singleton的实例)

2015-05-19 15:12:38 552

原创 Android: wifi打开和关闭的流程解析

简单介绍android中,wifi打开或关闭时的调用流程

2015-05-19 13:39:58 3103

转载 iptables的相关概念和数据包的流程

原文链接:http://selboo.com/post/721/iptables 相关概念 匹配(match):符合指定的条件,比如指定的 IP 地址和端口。 丢弃(drop):当一个包到达时,简单地丢弃,不做其它任何处理。 接受(accept):和丢弃相反,接受这个包,让这个包通过。 拒绝(reject):和丢弃相似,但它还会向发送这个包的源主机发送错误消息。这个

2015-05-14 11:52:09 575

原创 Android: netd中MDnSdListener的简单介绍

1, 类图2,简介: MDnSdListener与上层NsdService.java 通过socket (名字为"mdns")交互, NsdService会给MDnSdListener发送如下的命令:startMDnsDaemonstopMDnsDaemonregisterServiceunregisterServiceupdateServicediscov

2015-05-14 10:59:21 2206

原创 Android: AudioFlinger中AudioPolicy的简单介绍

1, AudioFlinger的类图2, AudioPolicy相关的序列图

2015-05-13 17:46:58 1625

原创 Android: netd中DnsProxyListener的简单介绍

1,类图2,功能介绍   2.1 DnsProxyListener创建的监听socket名字为 dnsproxyd   2.2 DnsProxyListener负责监听客户端的请求,并经过FrameworkListener的机制,转给对应的Command对象处理(此处只有2种). 而在Command的处理中,其会创建一个新的handler线程,在线程里去完成具体的操作。

2015-05-13 16:44:45 2856

原创 Android: netd中NetlinkManager的简单介绍

1, 类图2,作用NetlinkManager: 接收来自kernel的3中UEVENT消息,并通过command listener转发给Java层的NetworkManagementServiceCommandListener: 向FrameworkListener注册多种command, 接收到java层发送的消息后,派发给对应的command处理。

2015-05-13 16:06:04 2369

原创 Android:wpa_supplicant决定选择哪种驱动

1, main 函数的入口:external/wpa_supplicant_8/wpa_supplicant/main.c2, init.rc中通过参数指定要加载哪个驱动3, wpa_supplicant中加载驱动的原理main.c:  main()--> wpa_supplicant.c:  wpa_supplicant_add_iface()

2015-05-12 16:13:08 1861

转载 Android WiFi--系统架构

原文链接请参考:http://blog.csdn.net/myarrow/article/details/8129607/1. 系统架构        Android WiFi系统引入了wpa_supplicant,它的整个WiFi系统以wpa_supplicant为核心来定义上层用户接口和下层驱动接口。整个WiFi系统架构如下图所示:   一切尽在

2015-05-12 15:33:54 586

转载 Wifi 的基本知识

点击打开链接

2015-05-12 15:27:26 670

原创 设计模式:工厂(factory)模式 与 抽象工厂(abstract factory)模式

工厂模式的定义:    定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。    工厂方法让类把实例化推迟到子类。抽象工厂模式的定义:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。工厂模式的类图:抽象工厂模式的类图:说明:此模式很好的说明了OO中的一个原则:“依赖倒置原则”。(这个倒置,

2015-04-30 14:13:25 464

原创 设计模式: 装饰者(decorator)模式

设计原则: 类应该对扩张开发,对修改关闭。定义: 动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。别名: Wrapper注意点:装饰者在所委托被装饰者的行为之前或之后,加上自己的行为,以达到特定的目的。类图:例子: starbuzz中咖啡和饮料的使用。缺点: 可能会造成很多小类。

2015-04-29 11:46:38 427

原创 设计模式:观察者(observer)模式

观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。类图:推模式的类图:拉模式的类图:(推荐:因为无法预测每个观察者到底需要何种数据,也方便增加新数据时,改动最小)注意:有多个观察者时,不可以依赖特定的通知次序。

2015-04-28 13:48:19 454

原创 设计模式: 策略(strategy)模式

策略模式:定义了算法族, 分别封装起来,让它们之间可以互相替换。此模式让算法的变化独立于使用算法的客户。类图:与工厂模式的区别:策略模式相当于测试中的白盒工程模式相当于测试中的黑盒

2015-04-27 16:56:07 373

原创 解决“使用google test做单元测试(unit test)中访问类的私有成员”的几种方法

在使用google test做单元测试(unit test)中,有时候会碰到访问类的私有成员, 本文 只给出了两个常用的方法。

2015-04-10 17:30:26 3409

原创 Android中Framework层条件变量(condition)的使用方法

简单介绍在Android的Framework层, 如何使用条件变量去实现一些等待的操作

2015-04-03 17:31:30 1971

转载 浅析alsa声卡驱动snd_pcm_start函数-将音频数据真实的发送到外部音频接口硬件

转载自链接:浅析alsa声卡驱动snd_pcm_start函数-将音频数据真实的发送到外部音频接口硬件-gliethttp-ChinaUnix博客 http://blog.chinaunix.net/uid-20564848-id-74236.html将音频数据真实的发送到外部音频接口硬件/** * snd_pcm_start - start all linked stre

2015-03-19 17:27:02 4210

原创 Makefile中的几个调试方法

1,使用info/warning/error增加调试信息方法1: $(info, "here add the debug info")           但是此不能打印出.mk的行号方法2: $(warning, "here add the debug info")   方法3: $(error "error: this will stop the compile

2015-03-19 16:22:52 40577 6

原创 解决 repo init时, “gpg: 无法检查签名:找不到公钥”

此问题是由于repo 版本发生变化导致的。只要执行以下操作,再重新repo init就可以了。(此问题与ssh public key没有关系)rm -rf  ~/.repoconfig/

2015-03-19 10:33:48 3407

原创 C++ Template中关于模板类的成员模板函数显示实例化的问题

写了如下的模板成员函数代码,发现下面示例的56行,无法编译通过。

2015-03-16 15:08:06 1550 1

原创 PulseAudio中插件module-loopback的latency延迟的计算方法

module-loopback播放时 ,pulse audio基本的插件连接情况

2015-03-10 15:37:50 2465

原创 PulseAudio 中插件module-loopback的基本分析

1, module-loopback中的类(struct)关系图2, module-loopback中基本的数据流向 sequence diagram

2015-03-10 15:05:36 2420

原创 WireShark 网络封包分析软件

吐槽下PSET公司的网络安全今天偶然使用wireshark(原先似乎叫ethereal), 想看一下底层的协议。竟然发现公司的邮箱访问中需要的用户名和密码都是明文发送的,可悲啊。见下文:

2015-03-04 15:11:52 571

原创 算法: 约瑟夫问题(Joseph Problem)的分析

约瑟夫问题(Joseph Problem)的数学解决思路。

2015-03-03 14:17:12 3956 2

原创 Sublime Text 的 快捷键及配置

Sublime Text的配置与快捷键

2015-03-03 13:40:19 546

原创 ALSA 中asound.conf 验证采集设备的内容

方法:alsa_aplay -C -D hw:3,0 -c 2 -f S16_LE -r 44100 /data/test.pcm缺陷: 有时候会碰到读取数据为空的情况,比如设备MIC 没有接入 或者其他驱动bug. 这时只能查看文件的大小以确认。而cat 文件内容的方式不太明显。

2015-03-02 16:45:26 467

原创 ALSA 中asound.conf 验证送入播放设备中的数据内容

目的:验证送入alsa 播放设备中的数据的有效性.具体有以下两个case:1, 验证alsa 采集设备的数据内容2, 验证送给alsa播放设备的数据内容方法: 配置 alsa的/etc/asound.conf,并使用alsa util工具测试。例子:asound.conf的例子如下所示:pcm.wqw { type file

2015-03-02 16:06:27 645

原创 C++ Template 类成员函数取地址

代码:测试结果:

2015-02-28 15:23:48 871

原创 C++ Template中的“替换失败并非错误”

在模板中,为了支持函数模板的重载功能,有个特性,叫做 “替换失败并非错误”。英文翻译为 substiutation failure is not an error. 写了以下程序,编译,链接,运行均正常。

2015-02-28 12:02:55 594

原创 Linux平台:一个简单的TCP6 server的示例代码(socket)

一个简单的TCP6 服务器的代码

2015-02-28 10:34:42 1727

原创 Android中AudioFlinger的基本原理介绍

使用UML, 介绍Android中AudioFlinger的基本架构设计。

2015-02-28 10:31:08 1972 1

原创 Android中AudioFlinger:将AudioTrack从一个device切到另一个device输出的实现逻辑

简单介绍Android AudioFlinger中,如何实现将一个Audio Track数据在不同device设备间的切换。

2015-02-28 10:20:12 2221

原创 Android中DRM mobile 1.0的初步介绍

初步介绍Android中mobile drm1.0的情况

2015-02-28 10:05:46 1110

原创 Android中DRM版权保护机制的研究

简单介绍Android中DRM Service的基本运行机制

2015-02-28 10:02:45 5329

让vc6支持new 抛出异常

vc6是不支持new失败时抛出异常的。本文使用windows的api来让new在失败时抛出异常。

2008-09-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除