自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 sourceinsight技巧

(转)Source Insight 经典教程 2推荐Source Insight经典教程 Source Insight实质上是一个支持多种开发语言(java,c ,c 等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,常被我们当成源代码阅读工具使用。作为一个开放源代码的操作系统,Linux附带的源代码库使得广大爱好

2009-12-23 19:00:00 953

转载 数据恢复

    百度空间 | 百度首页 | 登录 ihgivThe striving after better hopes. 为了更美好的梦想而奋斗着!我们绝对不会为了短暂的利益,而放弃我们的未来”! 主页博客相册|个人档案 |好友  查看文章

2009-12-23 18:49:00 1261

转载 makefile模板

Makefile 模板 # 下面的变量可以在shell 的环境变量里面指定。# 也可以象下面这样在 Makefile 里面指定。# CC=gcc                                          # 编译器# CFLAGS=-Wall -Werror -g           # 编译器参数# LD=gcc                          

2009-12-23 17:04:00 523

转载 const用法详解

面向对象是C++的重要特性. 但是c++在c的基础上新增加的几点优化也是很耀眼的 就const直接可以取代c中的#define 以下几点很重要,学不好后果也也很严重 const 1. 限定符声明变量只能被读   const int i=5;   int j=0;   ...   i=j;  //非法,导致编译错误   j=i;  //合法 2. 必须初始化   const int i=5;   

2009-12-10 17:17:00 499

转载 C++中typename关键字的使用方法和注意事项

1, 什么地方使用?用在模板定义里,标明其后的模板参数是类型参数。    例如 templateT foo(const T& t, const Y& y){//....};templaceclass CTest{private: T t;public: //...}    其实,这里最常用的是使用关键字class,而且二者功能完全相同,这里的cl

2009-12-08 17:21:00 767

转载 typedef用法

typedef用法   typedef 声明,简称 typedef,为现有类型创建一个新的名字。比如人们常常使用 typedef 来编写更美观和可读的代码。所谓美观,意指 typedef 能隐藏笨拙的语法构造以及平台相关的数据类型,从而增强可移植性和以及未来的可维护性。     typedef 使用最多的地方是创建易于记忆的类型名,用它来归档程序员的意图。类型出现在所声明的变量名字中,位于

2009-12-08 17:21:00 873

转载 VC快捷方式

1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号 2.查看一个宏(或变量、函数)的宏定义 把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的Go To Defition Of …),如果没有建立Browse files,会出现提示对话框,确定,然后就会跳到定义那些东西的地方。 3

2009-12-08 17:18:00 810

转载 Android的垃圾回收机制

android  refbase类(sp wp) 这两天写v4l2的代码,所以再仔细看了sp和wp的实现过程~~        个人觉得sp和wp实际上就是android 为其c++实现的自动垃圾 回收机制 ,具体到内部实现,sp和wp实际上只是一个实现垃圾回收功能的接口而已,比如说对*,->的重载,是为了其看起来跟真正的指针一样,而真正实现垃圾回收的是refbase这个基类。这部分代码的目录在:

2009-12-08 17:15:00 686

转载 Android事件处理

Init-----------zygote---------system-server-------------------windosmanager  ------------------------------------------------------------ UEventObserver -----------------------------------------------

2009-12-08 17:11:00 814

转载 Android IPC 通讯机制源码分析 二

转自:http://hi.baidu.com/albertchen521/blog/item/822058d0f63ea2d4562c84a1.htmlClient A与Binder kernel通信:kernel/drivers/android/Binder.c)static int binder_open(struct inode *nodp, struct file *filp){s

2009-12-08 17:10:00 1157

转载 static_cast,dynamic_cast和reinterpret_cast

尽量使用C++风格的类型转换     仔细想想地位卑贱的类型转换功能(cast),其在程序设计中的地位就象goto语句一样令人鄙视。但是它还不是无法令人忍受,因为当在某些紧要的关头,类型转换还是必需的,这时它是一个必需品。     不过C风格的类型转换并不代表所有的类型转换功能。     一来它们过于粗鲁,能允许你在任何类型之间进行转换。不过如果要进行更精确的类型转换,这会是一个优点。在这些类型转

2009-12-07 17:08:00 509

转载 android drawing

Android Display System --- Surface Flinger 收藏   Android Display System --- Surface Flinger      SurfaceFlinger 是Android multimedia 的一个部分,在Android 的实现中它是一个service ,提供系统 范围内的surface composer 功能,它能够将各种

2009-12-03 17:41:00 1155

转载 linux动态链接库的创建与使用

使用linux动态链接库:     在Unix上存在两种库:动态库(.so)和静态库(.a),采用动态库(共享对象)技术可以方便程序间共享,节省程序占有空间,增加程序的可扩展性和灵活性。    操作动态库的函数在dlfcn.h文件中定义,所以要在使用动态库时include    1. 打开动态链接库:dlopen,函数原型void *dlopen (const char *filename, in

2009-12-02 11:20:00 719

转载 linux驱动学习

一、ioctl大部分设备除了读写能力,还可进行超出简单的数据传输之外的操作,所以设备驱动也必须具备进行各种硬件控制操作的能力. 这些操作常常通过 ioctl 方法来支持,它有和用户空间版本不同的原型:int (*ioctl) (struct inode *inode, struct file *filp,              unsigned int cmd, uns

2009-12-01 18:40:00 630

转载 linux ioctl解释

我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl,      所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混      了,这几天才弄明白它,于是在这里清理一下头脑。             一、 什么是ioctl。       ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就    

2009-12-01 18:34:00 960

转载 select, poll和epoll的区别

select()系统调用提供一个机制来实现同步多元I/O:#include sys/time.h>#include sys/types.h>#include unistd.h>int select (int n,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct timeval *timeout);FD_CLR

2009-11-30 16:42:00 637

转载 非阻塞I/O和阻塞I/O

 拿 socket举例。当read数据时,如果这时没有数据可读,阻塞I/O会一直等待有数据读,数据从kernel copy 到socket的buffer后返回;非阻塞I/O会立即返回,但如果有数据可读,非阻塞I/O也是等数据从kernel copy 到socket的buffer后返回。以上是阻塞与非阻塞I/O的区别,但以上两个例子的read操作都是同步的,是不是很奇怪?点解称其为同步?

2009-11-30 10:51:00 634

转载 如何理解C和C++的复杂类型声明

    曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明。   我们将从每天都能碰到的较简单的声明入手,然后逐步加入const修饰符和typedef,还有函数指针,最后介绍一个能够让你准确地理解任何C/C++声明的“右左法则”。   需要强调一下的是,复杂

2009-11-27 15:41:00 521

转载 c指针详解

 第一章 概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: (1)int *ptr; (2)char *ptr; (3)int **ptr; (4)int (*ptr)[3]; (5)int

2009-11-27 09:55:00 466

空空如也

空空如也

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

TA关注的人

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