自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (2)
  • 收藏
  • 关注

转载 expect中文手册

<br /><br />本文由gunman翻译,只是希望能提供给大家一个更好的学习Expect的机会。第一次做翻译,其中有不少翻译的有问题的地方,还有一些语句没有翻译,直接写的英文。希望大家能够对照英文原文学习。<br /> <br />在这里要感谢一位陌生的朋友---zyz(只知道好像是一个四川的MM)。她在翻译工作的前期,帮我把英文原版的Manpages进行了排版,对我的翻译工作给予了很大的帮助。在此表示感谢。:)<br /> <br />本来这篇文章应该很早之前就该分享给大家的,可是由于工作关系,翻译

2011-04-15 11:25:00 1135

原创 makefile之静态模式 (转载)

<br /><br />静态模式可以更加容易地定义多目标的规则,可以让我们的规则变得更加的有弹性和灵活。我们还是先来看一下语法: <br /><br />    <targets ...>;: <target-pattern>;: <prereq-patterns ...>; <br />            <commands>; <br />            ... <br /><br /><br />    targets定义了一系列的目标文件,可以有通配符。是目标的一个集合。 <br /><

2011-03-20 11:36:00 767

转载 GNU Makefile 之 (详述) 

一、概述Makefile中主要包含的内容有:1、注释2、文件包含3、变量定义4、条件判断5、函数6、规则二、注释只提供单行注释, 凡是以#开头的行都认为是注释行。#this is a comment  三、文件包含include的用法,include后面跟一个Makefile文件名. 这样我们可以写一个公共Makefile,包含一些公共变量的定义,其他目录下的Makefile可以把这个公共Makefile文件包含进去。-include ../Makefile.param (之前的“-”表示包含失败不停止)四

2011-03-20 11:20:00 562

转载 文件描述符和文件指针的区别

<br />文件描述符:在linux系统中打开文件就会获得文件描述符,它是个很小的正整数。每个进程在PCB(Process Control Block)中保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针。<br /> <br />文件指针:C语言中使用文件指针做为I/O的句柄。文件指针指向进程用户区中的一个被称为FILE结构的数据结构。FILE结构包括一个缓冲区和一个文件描述符。而文件描述符是文件描述符表的一个索引,因此从某种意义上说文件指针就是句柄的句柄(在Wind

2011-03-13 16:50:00 1254

转载 socket选项

<br />socket选项<br />  <br />1、设置/获取socket选项<br />有两个函数,可以用来对socket进行设置或获取当前设置:<br />#include <sys/socket.h><br /><br />int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);<br /> <br />int setsockopt(int sockfd, int level, in

2011-02-23 16:37:00 1132

转载 STUN在SIP中的工作原理及过程(转载)

<br />STUN是RFC3489规定的一种NAT穿透方式,它采用辅助的方法探测NAT的IP和端口。毫无疑问的,它对穿越早期的NAT起了巨大的作用,并且还将继续在ANT穿透中占有一席之地。<br />       STUN的探测过程需要有一个公网IP的STUN server,在NAT后面的UAC必须和此server配合,互相之间发送若干个UDP数据包。UDP包中包含有UAC需要了解的信息,比如NAT外网IP,PORT等等。UAC通过是否得到这个UDP包和包中的数据判断自己的NAT类型。<br />    

2011-02-17 09:48:00 419

转载 Linux的时间函数(转载)

<br />一、时间相关说明<br />格林威治时间表示0时区的标准时间。其他时区的时间和此标准时间均有时间差。UTC(Universal Time Coordinated)是世界协调时间,是格林威治时间在互联网中的表示方法<br />二、标准C语言时间函数<br />1、time(取得本地目前的时间秒数)<br />#include<time.h><br />time_t time(time_t *t);<br /> <br />函数说明  此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒(

2011-02-16 15:29:00 1616

转载 c++ volatile的用法(转载)

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值(From Memory),而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: <br />1) 并行设备的硬件寄存器(如:状态寄存器) <br />2) 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables) <br />3) 多线程应用中被几个任务共享的变量 <br />回

2011-01-25 21:05:00 1262

转载 进程上下文和中断上下文(转载)

<br />进程上下文和中断上下文是操作系统中很重要的两个概念,这两个概念在操作系统课程中不断被提及,是最经常接触、看上去很懂但又说不清楚到底怎么回事。造成这种局面的原因,可能是原来接触到的操作系统课程的教学总停留在一种浅层次的理论层面上,没有深入去研究。<br /> <br /><br />处理器总处于以下状态中的一种:<br />1、内核态,运行于进程上下文,内核代表进程运行于内核空间;<br />2、内核态,运行于中断上下文,内核代表硬件运行于内核空间;<br />3、用户态,运行于用户空间。<br

2011-01-25 20:59:00 303

转载 Linux slab 分配器剖析(转载)

 良好的操作系统性能部分依赖于操作系统有效管理资源的能力。在过去,堆内存管理器是实际的规范,但是其性能会受到内存碎片和内存回收需求的影响。现在,Linux® 内核使用了源自于 Solaris 的一种方法,但是这种方法在嵌入式系统中已经使用了很长时间了,它是将内存作为对象按照大小进行分配。本文将探索 slab 分配器背后所采用的思想,并介绍这种方法提供的接口和用法。动态内存管理内存管理的目标是提供一种方法,为实现各种目的而在各个用户之间实现内存共享。内存管理方法应该实现以下两个功能:最小化管理内存所需的时

2011-01-16 10:56:00 281

转载 eax ...edi esp ebp寄存器简介(转)

首先介绍我们会经常看到的一些寄存器:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI)2个指针寄存器(ESP和EBP)4个数据寄存器(EAX、EBX、ECX和EDX):32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。对低16位数据的存取,不会影响高16位的数据。这些低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的CPU中的寄存器相一致。4个16位寄存器又可分割成8个独立的8位寄存器(AX:AH-AL、BX:BH-BL、CX:CH-CL、DX

2011-01-16 09:55:00 1219

转载 gcc attribute 机制(转载)

<br />GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。<br />__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute__参数。<br />__attribute__语法格式为:<br />__attrib

2011-01-15 21:03:00 298

原创 linux开发网站

<br />多线程信号:http://www.ibm.com/developerworks/cn/linux/l-cn-signalsec/?S_TACT=105AGX52&S_CMP=tec-csdn<br />信号与阻塞:http://www.360doc.com/content/11/0113/11/1317564_86178542.shtml<br />多线程信号量:http://hi.baidu.com/hpagent/blog/item/f45cc51dc784ca6ff624e4d3.html

2011-01-14 20:13:00 303

转载 穿越NAT总结(转载)

对穿越NAT做些总结:先做个约定:内网A中有:A1(192.168.0.8)、A2(192.168.0.9)两用户,网关X1(一个NAT设备)有公网IP 1.2.3.4内网B中有:B1(192.168.1.8)、B2(192.168.1.9)两用户,网关Y1(一个NAT设备)有公网IP 1.2.3.5公网服务器:C (6.7.8.9)  D (6.7.8.10)NAT两大类:l         NAT(Network Address Translators):称为基本的NAT在客户机时192.168.0.8

2011-01-14 20:10:00 443

转载 elf文件格式与动态链接库(转载)

机器执行的是机器指令,而机器指令就是一堆二进制的数字。高级语言编写的程序之所以可以在不同的机器上移植就因为有为不同机器设计的编译器的存在。高级语言的编译器就是把高级语言写的程序转换成某个机器能直接执行的二进制代码。以上的知识在我们学习CS(Computer Science)的初期,老师都会这么对我们讲。但是我就产生疑问了:既然机器都是执行的二进制代码,那么是不是说只要硬件相互兼容,不同操作系统下的可执行文件可以互相运行呢?答案肯定是不行。这就要谈到可执行文件的格式问题。每个操作系统都会有自己的可执行文件的格

2011-01-10 13:01:00 381

转载 Linux文件权限隐藏的细节深入分析(转载)

$ stat file1   file: `file1'   size: 11904 blocks: 24 io block: 4096 regular file   device: 301h/769d inode: 355982 links: 1   access: (0755/-rwxr-xr-x) uid: ( 503/ jack) gid: ( 503/ general)   access: 2003-10-19 09:14:12.000000000 +0800   modify: 2003-10-

2011-01-09 07:41:00 345

转载 创建守护进程(转载)

Linux编程技术详解-创建守护进程由于守护进程的特点,编写守护进程程序必须遵守一定的规则。本节将阐述这些规则的要点,并给出相关代码。8.2.1  实现守护进程的步骤在Linux系统中,要编程实现一个守护进程必须遵守如下的步骤。1.让init进程成为新产生进程的父进程。调用fork函数创建子进程后,使父进程立即退出。这样,产生的子进程将变成孤儿进程,并被init进程接管,同时,所产生的新进程将变为在后台运行。2.调用setsid函数通过调用setsid函数,使得新创建的进程脱离控制终端,同时创建新的进程组,

2011-01-09 07:29:00 567

转载 会话和进程组(转载)

由于 Linux 是一个多用户系统,同一时刻,系统中运行有属于不同用户的多个进程。那么,当处于某个终端上的用户按下了 Ctrl+C 键时(产生 SIGINT 信号),系统如何知道将该信号发送到哪个进程,从而不影响由其他终端上的用户运行的进程呢?Linux 内核通过维护会话和进程组而管理多用户进程。如图 11-3 所示,每个进程是一个进程组的成员,而每个进程组又是某个会话的成员。一般而言,当用户在某个终端上登录时,一个新的会话就开始了。进程组由组中的领头进程标识,领头进程的进程标识符就是进程组的组标识符。类似

2011-01-09 06:30:00 571

转载 加锁的各种选择

inux 内核提供了不少有力的加锁原语能够用来使内核避免被自己绊倒. 但是, 如同我们已见到的, 一个加锁机制的设计和实现不是没有缺陷. 常常对于旗标和自旋锁没有选择; 它们可能是唯一的方法来正确地完成工作. 然而, 有些情况, 可以建立原子的存取而不用完整的加锁. 本节看一下做事情的其他方法. 5.7.1. 不加锁算法有时, 你可以重新打造你的算法来完全避免加锁的需要. 许多读者/写者情况 -- 如果只有一个写者 -- 常常能够在这个方式下工作. 如果写者小心使数据结构的视图, 由读者所见的, 是一直一致

2011-01-08 21:01:00 443

转载 Sed使用学习(转载)

SED 手册 - 1. Introduction http://phi.sinica.edu.tw [email protected] (2001-07-29 08:05:00)1.Introduction    Sed(Stream EDitor)为 UNIX 系统上提供将编辑工作自动化的编辑器 , 使用者无需直接编辑资料。使用者可利用 sed 所提供 20 多种不同的函数参数

2010-01-12 15:14:00 485

转载 linux命令之date使用(转载)

名称 : date使用权限 : 所有使用者使用方式 :date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]说明 :date 可以用来显示或设定

2009-12-17 14:41:00 369

gdb调试工具使用中文说明

gdb调试工具使用中文说明,通过采用举例的方式说明,pdf格式

2009-12-20

UNIX.Shell编程24学时教程

学习unix下shell编程的入门级工具书

2009-12-20

空空如也

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

TA关注的人

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