自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(418)
  • 收藏
  • 关注

转载 读万卷书不如行万里路,行万里路不如阅人无数,阅人无数不如名师指路

时常听到这样一句话:“读万卷书不如行万里路,行万里路不如阅人无数,阅人无数不如名师指路,名师指路不如自己去悟”。有些人只说到名师指路这儿,有些人是全部说完,似乎没有名师指路或自己去悟人就不能成功,片面地强调某一点。这样就进入一个认识的误区:读书有何用,做的再多有什么用!我认为,这句话应该连起来看。一个人要想取得成就,必须多读书,读好书。“书中自有黄金屋”、“书是人类进步的阶梯”、书是人类智慧的结晶

2014-03-30 22:33:03 3040

转载 雷军:明年小米手机销量将达1亿台

大家好!我们大家都沉浸在刚才院士精彩的发言里。马云的评价是单口相声。邬院士举了小米几个例子,我跟大家简单汇报一下小米的情况。不是为了做广告,是因为很多领导不了解小米的进展。  小米是一个非常非常新的公司,四年前创办,10来人,7、8条枪,一起跟着小米闹革命。选择做手机,手机的确是一个红海市场,苹果(536.86, -0.60, -0.11%)、三星赚了110%的利润,其他企业亏了10%。刚

2014-03-30 21:15:04 1371

原创 Me

Recovery.c中能对eMMC进行直接读写,mmc_read/mmc_write.

2014-03-18 16:59:20 1447

转载 安装MangOS

版本问题mangos目前有三个分支,分别对应wow的不同版本:主分支对应资料片巫妖王之怒,版本号3.3.5amangos-one对应资料片燃烧的远征,版本号2.4.3mangos-zero对应原版,版本号1.12.1或1.12.2使用不同分支时,要求客户端的版本号一致,否则无法登录。详见http://getmangos.com/因为只是研究目的,没必要用最新的版本,所以

2013-10-26 21:20:55 6236 1

转载 SigPipe信号

Linux平台开发过程中,遇到一个问题:服务方listen,海量客户端端连接上来,当客户端Ctrl+C时,服务方进程会退出,但没有core文件,百思不得其解。       尝试了很多努力,如在服务方代码中增加日志来跟踪,每次进程退出时日志输出位置不一定,无解。       后来打算用strace跟踪一下该进程,看看这个进程到底干什么了,一边跟踪一边测试,进程停止时,发现是接收到了SIGPI

2013-10-13 11:29:50 1013

转载 GDB + CoreDump 调试记录

现在说下gdb+coredump的调试流程      在实机上先打开产生core文件的设置,ulimit -c unlimited  ,这将使程序在遇到断错误的时候保留下当时的堆栈信息,而这个core文件的大小没有进行限制,当然,还可以更改core文件的产生路径,具体可以google下。 之后运行断错误程序,获取产生的core文件。      运用平台指定的gdb程序  调用arm

2013-08-20 22:46:04 2803

转载 Linux的锁和条件变量用法 | pthread_mutex_lock | pthread_cond_signal

本篇默认读者已经清楚多线程中的锁、互斥锁、条件变量基本概念及作用,本篇只讲怎么在C++里编程调用。互斥锁很简单,条件变量(多用于生产者-消费者模型)则细节较多,本文主要说它。主要涉及函数#includepthread.h>int pthread_mutex_lock(pthread_mutex_t *mptr); //互斥锁加锁int pthread_mutex_u

2013-08-16 23:36:17 1612

转载 什么时候mutex不够,还需要condition variable

什么时候mutex不够,还需要condition variable?假设有共享的资源sum,与之相关联的mutex 是lock_s.假设每个线程对sum的操作很简单的,与sum的状态无关,比如只是sum++.那么只用mutex足够了.程序员只要确保每个线程操作前,取得lock,然后sum++,再unlock即可.每个线程的代码将像这样add(){pthread_mu

2013-08-16 23:35:35 882

转载 pthread_cond_wait()函数的理解

pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t*mutex)函数传入的参数mutex用于保护条件,因为我们在调用pthread_cond_wait时,如果条件不成立我们就进入阻塞,但是进入阻塞这个期间,如果条件变量改变了的话,那我们就漏掉了这个条件。因为这个线程还没有放到等待队列上,所以调用pthread_cond_wait前

2013-08-15 22:08:44 875

转载 条件变量pthread_cond_t怎么用

最近看《UNIX环境高级编程》多线程同步,看到他举例说条件变量pthread_cond_t怎么用,愣是没有看懂,只好在网上找了份代码,跑了跑,才弄明白[cpp] view plaincopy#include #include #include pthread_mutex_t mutex = PTHREAD_MUTEX_IN

2013-08-15 22:07:29 796

转载 服务器进程为何通常fork()两次

前几天接到某互联网公司的电话面试,面试官问我两次fork()的作用,我一头雾水,说不知道。知识面还是太窄了。下面就总结下两次fork()的作用。 首先,要了解什么叫僵尸进程,什么叫孤儿进程,以及服务器进程运行所需要的一些条件。两次fork()就是为了解决这些相关的问题而出现的一种编程方法。 孤儿进程        孤儿进程是指父进程在子进程结束之前死亡(return

2013-08-14 23:42:27 1017

转载 集中优势兵力,单点突破

集中优势兵力,单点突破    我有时在想,360能走到今天,幸亏我是门外汉,“乱拳打死老师傅”。门外汉没有思维定势,门外汉不会心存敬畏之心。安全行业别人干了20年,他们认为安全就应该这么干,他们也赚了钱。但是我啥也不懂,别人的做法我不会。但是当你从门外汉角度来解决问题的时候,可能有不同的创新。正因为无知无谓,我们就挑了一个点,杀流氓软件。    相反如果当年我是安全的专家,我肯定规

2013-08-06 21:33:51 908

转载 socket error 10053,10054究竟是怎么引起的

贴2段能稳定重现10053的代码,下面是客户端:[cpp] view plaincopyWORD    VersionRequested;  WSADATA WsaData;    VersionRequested = MAKEWORD(2, 2);    if (WSAStartup(VersionRequested, 

2013-07-30 23:17:55 1555

转载 socket10053

前几天初步解决了困扰许久的socket10053的问题。     现象如下:windows下开发多线程socket通信的系统(采用事件选择WSAEventSelect的方式),在高并发的情况下send及recv时经常出错(有时是收到错误码不为0的FD_CLOSE事件),错误码为10053。     解决过程:首先看了MSDN,对10053的解释是“软件主动放弃一个连

2013-07-30 23:03:45 912

转载 CString转char * ,string

CString 头文件#include string 头文件#include CString 转char *CString cstr;char *p = (LPSTR)(LPCTSTR)cstr;string 转 CStringCString.format(”%s”, string.c_str());char 转 CStringCString

2013-07-28 19:16:51 911

转载 Java面试题(1-46)

JAVA相关基础知识1、面向对象的特征有哪些方面  1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象

2013-07-28 14:28:22 1403

转载 Android面试题收集(有详细答案)

Android面试题目及其答案 1、Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念   DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux中的一个进程,所以说可以认为是同一个概念。 2、sim卡的EF文件有何作用

2013-07-28 14:25:51 2134

转载 71道经典Android面试题和答案,重要知识点都包含了

,,面试题1.        下列哪些语句关于内存回收的说明是正确的? (b ) A、 程序员必须创建一个线程来释放内存  B、内存回收程序负责释放无用内存   C、内存回收程序允许程序员直接释放内存   D、内存回收程序可以在指定的时间释放内存对象 2.        下面异常是属于Runtime Exception 的是(abcd)(多选)      A、Arithmeti

2013-07-28 13:59:29 1174

转载 Socket那些事——winsocket日记(1)

般来说 碰到的第一个结构体是 WSADATA  [cpp] view plaincopy#define WSADESCRIPTION_LEN      256  #define WSASYS_STATUS_LEN       128  typedef struct WSAData {          WORD      

2013-07-28 10:32:41 1327

转载 请教:多线程同时写socket是否需要加锁

第一种可以,因为Socket是双工的多线程读写同一Socket的话基本上是会出问题的想要不出问题的话,除非你的多个线程作用是一样的在TCP/TP卷2中有这样的结构体struct sockbuf{short sb_flags;..........}so_recv,so_snd;其中flag 有这几种标志:SB_LOC

2013-07-28 00:12:10 21925

转载 AMR文件格式分析

目录1.    概述2.    AMR编码方式3.    AMR文件结构示范图4.    AMR帧头格式分析5.    异常帧分析6.    AMR帧读取算法7.    参考资料1.      概述现在很多智能手机都支持多媒体功能,特别是音频和视频播放功能,而AMR文件格式是手机端普遍支持的音频文件格式。 AMR,全称是:Adaptive Multi

2013-07-27 16:38:54 906

转载 MD5算法的C++实现

1. IntroductionMD5算法是一种消息摘要算法(Message Digest Algorithm),此算法以任意长度的信息(message)作为输入进行计算,产生一个128-bit(16-byte)的指纹或报文摘要(fingerprint or message digest)。两个不同的message产生相同message digest的几率相当小,从一个给定的messag

2013-07-27 09:28:31 617

转载 利用双缓冲技术将位图像素数据写到DIB位图中并在指定的窗口显示(主要使用CreateDIBSection和BitBlt方法)

至于为什么要使用双缓冲技术,大家可以查阅相关的资料,这里我只提一点,就是解决屏幕刷新频繁导致闪烁的问题。下面是相关的代码实现:(这里我保存的DIB位图的大小为320*240,深度为24位)[cpp] view plaincopyprint?void SaveToBmpAndBlend(BYTE *buffer)  {  

2013-07-21 21:28:34 1963

转载 JPEG图像的解压缩操作

JPEG图像的解压缩操作JPEG图像的解压缩操作 解压缩操作过程1.        为JPEG对象分配空间并初始化2.        指定解压缩数据源3.        获取文件信息4.        为解压缩设定参数,包括图像大小,颜色空间5.        开始解压缩6.        取出数据7.        解压缩完毕8.       

2013-07-21 18:09:36 1098

转载 嵌入式系统的动态电源管理技术

在嵌入式系统中,电源的管理和功耗的控制,始终是一个非常重要的任务。所以通常面向嵌入式应用的CPU都会有各自不同的软硬件策略来辅助电源管理和功耗控制,最常见的包括各种低功耗模式,以及动态的频率切换等功能。本文的目的主要结合自己最近在Marvell的Monahans平台上所做的工作,总结一下所学习的相关知识,及软硬件框架和实现。1电源和功耗管理的工作内容嵌入式设备上的电源和

2013-07-03 21:44:59 1608

转载 Java NIO框架Netty教程(三)- 字符串消息收发

了解了Netty的基本概念,开发起来应该会顺手很多。  在“Hello World”代码中,我们只是在完成绑定的时候,在各自的本地打印了简单的信息,并没有客户端和服务端的消息传递。这个肯定是最基本的功能。在上代码之前,先补充一个Netty中重要的概念,ChannelBuffer。      ChannelBuffer

2013-07-01 22:55:39 4863

转载 Java NIO框架Netty教程(二) – 白话概念

"Hello World"的代码固然简单,不过其中的几个重要概念(类)和 Netty的工作原理还是需要简单明确一下,至少知道其是负责什。方便自己以后更灵活的使用和扩展。 声明,笔者一介码农,不会那么多专业的词汇和缩写,只能以最简单苍白的话来形容个人的感受和体会。如果您觉得这太不专业,笔者首先只能抱歉。然后,笔者曾转过《Netty代码分析》,您可参考。ChannelE

2013-07-01 22:55:06 1914

转载 Java NIO框架Netty教程(一) – Hello Netty

先啰嗦两句,如果你还不知道Netty是做什么的能做什么。那可以先简单的搜索了解一下。我只能说Netty是一个NIO的框架,可以用于开发分布式的Java程序。具体能做什么,各位可以尽量发挥想象。技术,是服务于人而不是局限住人的。 Netty的简介和下载可参考:《开源Java高性能NIO框架推荐 – Netty》。注意,此时的最新版已经为3.5.2.Final。 如果你

2013-07-01 22:54:25 6097

转载 使用JAVA操作netty框架

Netty简介: Netty 是一个异步的,事件驱动的网络编程框架和工具,使用Netty 可以快速开发出可维护的,高性能、高扩展能力的协议服务及其客户端应用。Netty原来属于JBoss开源社区,现在已经独立出来,新官网地址:http://netty.io/,最新版本为:3.5.0.Beta1 and 3.4.6.Final。Lisence为:ASL。Netty

2013-07-01 22:49:47 2701

转载 alsa asound.conf

1.Android+alsa音频体系大体结构:    从alsa的角度由下往上看:linux中有alsa驱动层,其中,/sound/core/pcm_native.c文件中的snd_pcm_f_ops是alsa驱动层对alsa_lib层的接口;Android中有alsa_lib层(在donut/external/alsa_lib目录下)和alsa应用层;    从Android的角

2013-06-23 17:26:13 2029

转载 snd_kcontrol_new名称中的SOURCE字段

前些日子写了一篇snd_kcontrol探究,该文主要从内核源码出发简单讲述一下kcontrol接口的始末。这几天因为要在Android里面添加一些音频控制接口,配合alsa_amixer scontents分析,对此有了更深的体会,记录于此。因为这方面的资料实在太少,很多东西都是自我理解的,如有错误请见谅并指出。 name字段是名称标识,这个字段非常重要,因为kcontrol的作

2013-06-23 10:16:04 678

转载 ALSA SOC架构关键点

关于ALSA(Advanced Linux Sound Architecture)中文资料真的很少,可能是国人很少真的从零开始做驱动开发的原因。毕竟像wolfson或者realtek这样的公司多还是老外在做开发。ALSA 对SOC支持,更是ALSA在嵌入式领域的应用,也是后来才加入到ALSA中的,那资料更是少了。我花了一个星期也几乎没有任何发现,而后通过零星资料的蛛丝马迹,终于对ALSA有感觉了。

2013-06-23 09:54:39 755

原创 Android基础

Activity 是Android的核心类,该类的全名是android.app.Activity. Activity相当于C/S程序中的窗体(Form)或Web程序的页面。Service: android.app.ServiceBroadcastReceiver: android.content.BroadcastReceiver.ContentProvider: androi

2013-06-18 11:18:15 616

转载 Android特效 五种Toast详解

Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。1.默认效果:代码:Toast.makeText(getApplicationContext(), "默认Toast样式",     Toast.LENGTH_SHORT).show();2

2013-06-18 09:01:21 473

转载 Android常用控件总结

第一章 1.1  Android中src文件夹包含项目的所有包及其资源文件,res文件夹包含了项目中所有的资源。比如:程序图标(drawable),布局文件(layout),常量(value),音频文件(raw)    R.java是在创建项目是自动生成的只读文件,不可更改此文件。R文件其作用:是定义项目中所有资源的索引文件。  1.2  AndroidManfes

2013-06-17 18:10:39 1220

转载 LinearLayout、FrameLayout、RelativeLayout、TableLayout、LayoutInflater类、LayoutParams类

今天花了不少时间在这4个View上面,但是重点并不是使用这几个View的结构有多难理解(毕竟照葫芦画瓢,谁都懂得做出来),而是理解这些View是如何显示出来,View与AndroidManifest.xml、R.java、和layout目录的xml之间的关系,它们是如何联系起来运行的,浪费了挺多时间来思考和适应。先来整理一下我的思路:       4个文件分别为AndroidMan

2013-06-17 14:13:52 735

转载 Wi-Fi Direct

Wi-Fi Direct目录简介认证标志特点优缺点相关介绍编辑本段简介2010年10月,Wi-Fi Alliance(wi-fi联盟)发布Wi-Fi Direct白皮书,白皮书中介绍了有关于这种技术的基本信息、这种技术的特点和这种技术的功能,Wi-Fi Direct标准是指允许无线网络中的设备无需通过无线路由器

2013-06-14 14:41:08 1408

转载 AndroidManifest.xml文件解析

一、关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Inte

2013-06-13 16:50:18 470

转载 ContentProvider的学习实例总结

一、ContentProvider简介       当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数据;采用sharedpreferences共享数据,需要使用sharedpreferences API读

2013-06-13 16:42:59 494

转载 Android Dalvik虚拟机初识

首先,让我们来思考下面几个问题:什么是Dalvik虚拟机?Dalvik VM与JVM有什么区别?Dalvik VM有什么新的特点?Dalvik VM的架构是怎么样的?  首先,我得承认第一个问题问得很傻:什么是Dalvik虚拟机?没有人给出过一个明确的定义,但是,我们似乎可以从人们对Java虚拟机的描述中得到些信息。 Java

2013-06-09 21:44:57 598

空空如也

空空如也

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

TA关注的人

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