自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 高级I/O复用技术:Epoll的使用及一个完整的C实例

高性能的网络服务器需要同时并发处理大量的客户端,而采用以前的那种对每个连接使用一个分开的线程或进程方法效率不高,因为处理大量客户端的时候,资源的使用及进程上下文的切换将会影响服务器的性能。一个可替代的方法是在一个单一的线程中使用非阻塞的I/O(non-blocking I/O)。         这篇文章主要介绍linux下的epoll(7)方法,其有着良好的就绪事件通知机制。我们将会使用C来展

2012-08-27 23:10:06 1563

转载 再谈select, iocp, epoll,kqueue及各种I/O复用机制

首先,介绍几种常见的I/O模型及其区别,如下: blocking I/O nonblocking I/O I/O multiplexing (select and poll) signal driven I/O (SIGIO) asynchronous I/O (the POSIX aio_functions) blocking I/

2012-08-27 23:03:20 985

转载 Linux下如何用GCC编译动态库

本文主要解决以下几个问题 1 为什么要使用库? 2 库的分类 3 创建自己的库 或许大家对自己初学 Linux时的情形仍记忆尤新吧。如果没有一个能较好的解决依赖关系的包管理器,在Linux下安装软件将是一件及其痛苦的工作。你装a包时,可能会提示你要先装b包,当你费尽心力找到b包时,可能又会提示你要先安装c包。我就曾被这样的事搞的焦头烂额,至今一提起rpm仍心有余悸,头皮发麻

2012-08-11 22:53:16 265

原创 Linux开发系统导引

1.应用程序 通常在/usr/bin 及/opt目录下   系统管理员一般会用/opt   /usr/local目录 来分类厂商提供及后续添加的文件与系统本身提供的应用程序 2.头文件 一般放在 /usr/include目录下 调用C语言编译器编译时,可以使用-I标志来包含在子目录或非标准位置的头文件,如 $ gcc -o hello -L/usr/myinclude hell

2012-08-11 22:52:35 227

原创 android根文件夹结构

bionicAndroid 中所使用的是标准c库文件,该项目将被编译成静态库文件,这些库文件仅在编译其他c程序时使用 bootable二次引导程序源码,对应NAND Flash的二次引导分区中的内容 build编译系统中枢,编译环境 cts兼容性测试代码,保证该设备具有标准的SDK API接口 dalvik java虚拟机相关源代码 development一些开发android工程所使用

2012-08-09 22:48:36 420

原创 Make脚本

Linux中包含一个Make脚本解释器.可以读取make脚本的内容并且执行,多用于自动编译过程 基本语法        目标:条件   (TAB键)命令 目标可以使一个字符串或者一个文件 条件也可以是一个字符串或者一个条件,make解释器会去判断目标与条件文件的时间戳是否一样,不一样时就会执行命令.因此想基于文件时间戳来执行的命令都可以用make脚本. 例子: hello:hello.

2012-08-09 22:47:58 350

原创 一些常用的shell 命令

man 一些不清楚的命令都可以打man command进行查询 比如man ls 所谓的linux里有问题找男人. find 查询单个或多个文件夹  find  .  -name  "*.java" grep  为正则表达式匹配,可以用来字符串匹配 grep "hello" hello.java    grep  "hello"  * -r grep跟find的区别是find用来查找文件或者

2012-08-09 22:47:10 225

原创 Linux启动过程

Linux启动  开机执行bootloader程序  ->操作系统内核初始化->执行第一个程序 1.开机:给系统开始供电,硬件系统会产生一个确定的复位时序,保证cpu是最后一个复位. 2.cup复位后开始执行第一条指令,该指令所在的内存地址是固定的,这由cpu制造者确定的,这个固定的地址所保存的程序往往叫引导程序(bootloader),他的作用是装载真正的用户程序.装载的程序一定要提供以下几

2012-08-09 22:46:24 299

原创 开博宣言

做这一行也有几年了,但基本上没积累下什么东西,总觉得有点虚度光阴的味道,好像自己的表达能力也不够,应该就是平时基本没有记东西的习惯,为了克服以上毛病,特开此博,希望给自己带来以下几点收获: 1.记录自己成长的点滴,能够更好的实现自己的计划. 2.增强自己的表达能力. 3.技术积累. 什么事情都难在坚持,也贵在坚持,这也是我最欠缺的,希望在这里能够坚持到最后.

2012-08-09 22:44:12 170

原创 android 编译系统

编译系统包括编译中枢,子项目,输出路径。 编译中枢包括各种.mk文件,这些文件将遍历所有子项目,并生产所有target,从而当用户调用make XXX命令,中枢能够知道应该执行什么命令以长生指定的target 每个子项目必须包含一个Android.mk文件,该文件将描述该项目中包含的哪些源文件,并指定该项目的输出目标类型(jar包、可执行程序、APK等),编译中枢内部定义了一些变量,各andr

2012-08-07 09:15:35 354

空空如也

空空如也

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

TA关注的人

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