10 2014 档案

摘要:调试工具:GDBUNIX程序员最常用的调试工具是GDB,大多数Linux系统应该预先安装了GDB。如果没有预先安装该工具,则必须下载GCC编译器程序包。DDD随着GUI(图形用户界面)越来越流行,大量的UNIX环境下运行的基于GUI的调试器被开发出来。其中的大多数工具都是GDB的GUI前端:用户通过... 阅读全文
posted @ 2014-10-31 21:05 Jessica程序猿 阅读(770) 评论(0) 推荐(0)
摘要:1 内联函数2 函数模板3 类模板包含模型链接器错误:大多数C和C++程序员会这样组织他们的非模板代码:类和其他类型都被放在一个头文件中。通常而言,头文件是一个扩展名为.hpp(.h、.hh)的文件。对于全局变量和(非内联)函数,只有声明放在头文件中,定义则位于.c文件,通常而言,.c文件是指扩展名... 阅读全文
posted @ 2014-10-30 08:31 Jessica程序猿 阅读(1948) 评论(0) 推荐(0)
摘要:类的成员函数(简称类函数)是函数的一种,它的用法和作用和前面介绍过的函数基本上是一样的,它也有返回值和函数类型,它与一般函数的区别只是:它是属于一个类的成员,出现在类体中。它可以被指定为private(私有的)、public (公用的)或protected(受保护的)。在使用类函数时,要注意调用它的... 阅读全文
posted @ 2014-10-30 08:26 Jessica程序猿 阅读(29152) 评论(1) 推荐(6)
摘要:以STL的运用角度而言,空间配置器是最不需要介绍的东西,它总是隐藏在一切组件(更具体地说是指容器,container)的背后,默默工作,默默付出。但若以STL的实现角度而言,第一个需要介绍的就是空间配置器,因为整个STL的操作对象(所有的数据)都存放在容器之内,而容器一定需要配置空间以置放资料。为什... 阅读全文
posted @ 2014-10-29 23:27 Jessica程序猿 阅读(546) 评论(0) 推荐(0)
摘要:前开后闭开区间表示法[)任何一个STL算法,都需要获得由一对迭代器(泛型指针)所标示的区间,用以表示操作范围,这一对迭代器所标示的是个所谓的前闭后开区间,以[first,last)表示,也就是说,整个实际范围从first开始,直到last-1.迭代器last所指的是“最后一个元素的下一位置”。这种o... 阅读全文
posted @ 2014-10-29 23:16 Jessica程序猿 阅读(1056) 评论(0) 推荐(0)
摘要:前面已经可以优美地解决两个参数的函数给算法for_each调用了,但是又会遇到这样的一种情况,当需要三个参数或者三个以上的参数给算法for_each调用呢?从STL里的绑定器bind1st,显然是不行了,因为它最多只支持两个参数,那还有什么办法呢?这时就需要使用boost库里强大的绑定器bind了。... 阅读全文
posted @ 2014-10-29 23:00 Jessica程序猿 阅读(320) 评论(0) 推荐(0)
摘要:increment/dereference操作符在迭代器的实现上占有非常重要的地位,因为任何一个迭代器都必须实现出前进(increment,operator++)和取值(dereference,operator*)功能,前者还分为前置式(prefix)和后置式(Postfix)两种。有写迭代器具备双... 阅读全文
posted @ 2014-10-29 21:14 Jessica程序猿 阅读(336) 评论(0) 推荐(0)
摘要:如果class内含const static integral data member,那么根据C++标志规格,我们可以在class之内直接给予初值。所谓integral泛指所有的整数型别(包括浮点数),不单只是指int,下面是一个例子:#includeusing namespace std;temp... 阅读全文
posted @ 2014-10-29 20:55 Jessica程序猿 阅读(450) 评论(0) 推荐(0)
摘要:所谓临时对象,就是一种无名对象。它的出现如果不在程序员的预期之下(例如任何pass by value操作都会引发copy操作,于是形成一个临时对象),往往造成效率上的负担。但有时候刻意制造一些临时对象,却又是使程序干净清爽的技巧。刻意制造临时对象的方法是,在型别名称之后直接加一对小括号,并可指定初值... 阅读全文
posted @ 2014-10-29 20:19 Jessica程序猿 阅读(511) 评论(0) 推荐(0)
摘要:在类模板中可以出现三种友元声明:(1)普通非模板类或函数的友元声明,将友元关系授予明确指定的类或函数。(2)类模板或函数模板的友元声明,授予对友元所有实例的访问权。(3)只授予对类模板或函数模板的特定实例的访问权的友元声明。(1)普通友元:templateclass A{ friend void f... 阅读全文
posted @ 2014-10-29 18:18 Jessica程序猿 阅读(5045) 评论(0) 推荐(2)
摘要:关键字 typename在C++标准化过程中,引入关键字typename是为了说明;模板内部的标识符可以是一个类型。譬如下面的例子:templateclass MyClass{ typename T::SubType *ptr; ...}; 上面的程序中,第2个typename被用来说... 阅读全文
posted @ 2014-10-29 18:14 Jessica程序猿 阅读(444) 评论(0) 推荐(0)
摘要:对于函数模板与类模板,模板参数并不局限于类型,普通值也可以作为模板参数。在基于类型参数的模板中,你定义了一些具体的细节来加以确定代码,直到代码被调用时这些细节才被真正的确定。但是在这里,我们面对的是这些细节是值,而不是类型,当要使用基于值的模板时,必须显式地指定这些值,才能够对模板进行实例化。非类型... 阅读全文
posted @ 2014-10-29 16:54 Jessica程序猿 阅读(967) 评论(1) 推荐(0)
摘要:---恢复内容开始---感觉C++ templates这本书写的不怎么好,挑写重点记一下:1 与函数模板一样,只能在同一个头文件中声明和定义类。类模板的声明类模板的声明和函数模板的声明很相似:在声明之前,我们先(用一条语句)声明作为类型参数的标志符;我们继续使用T作为标志符;template cla... 阅读全文
posted @ 2014-10-29 16:40 Jessica程序猿 阅读(374) 评论(0) 推荐(0)
摘要:操作系统:centos 6.4STL源码版本:3.3前言: 要看一个项目的源码,首先要选中切入点。 那么在sgi stl 标准库中,其切入点是什么呢? 答案是:stl_config.h 文件。不同的编译器对C++语言的支持程度不尽相同。为了具备广泛移植能力,SGI STL 定义了一个环境组态文... 阅读全文
posted @ 2014-10-29 15:09 Jessica程序猿 阅读(1657) 评论(0) 推荐(0)
摘要:面向对象编程(OOP)和泛型编程都能处理在编写程序时不知道类型的情况。不同之处在于:OOP能处理类型在程序运行之前都未知的情况;而在泛型编程中,在编译时就能获知类型了。前面介绍的容器、迭代器和算法都是泛型编程的例子。当我们编写一个泛型程序时,是独立与任何特定类型来编写代码的。当使用一个泛型程序时,我... 阅读全文
posted @ 2014-10-29 09:34 Jessica程序猿 阅读(4520) 评论(0) 推荐(0)
摘要:和其他类一样,位于继承体系中的类也需要控制当其对象执行一系列操作时发生什么样的行为,这些操作包括创建、拷贝、移动、赋值和销毁。 阅读全文
posted @ 2014-10-29 09:27 Jessica程序猿 阅读(289) 评论(0) 推荐(0)
摘要:每个类都有自己的作用域,在这个作用域内我们定义类的成员。 阅读全文
posted @ 2014-10-29 09:26 Jessica程序猿 阅读(250) 评论(0) 推荐(0)
摘要:每个类分别控制自己的成员初始化过程,与之类似,每个类还分别控制着成员对于派生类来说是否可访问。受保护的成员如前所述,一个类使用protected关键字来声明那些它希望与派生类分享但是不想被其他公共访问使用的成员。protected说明符可以看做是public和private中和后的产物: 阅读全文
posted @ 2014-10-29 09:25 Jessica程序猿 阅读(184) 评论(0) 推荐(0)
摘要:纯虚函数和普通的虚函数不一样,一个纯虚函数无须定义。我们通过在函数体的位置(即在声明语句的分号之前)书写=0就可以将一个虚函数说明为纯虚函数。其中,=0只能出现在类内部的虚函数声明语句处。指的注意的是,我们也可以为纯虚函数提供定义,不过函数体必须定义在类的外部。也就是说,我们不能在类的内部为一个=0... 阅读全文
posted @ 2014-10-29 09:22 Jessica程序猿 阅读(556) 评论(0) 推荐(0)
摘要:如前所述,在C++语言中,当我们使用基类的引用或指针调用一个虚成员函数时会执行动态绑定。因为我们直到运行时才能知道到底调用了那个版本的虚函数,所以所以虚函数都必须有定义。通常情况下,如果我们不使用某个函数,则无须为该函数提供定义。但是我们必须为每一个虚函数都提供定义,而不管它是否被用到了,这是因为连... 阅读全文
posted @ 2014-10-29 09:14 Jessica程序猿 阅读(240) 评论(0) 推荐(0)
摘要:定义基类对于基类,我们需要记住的是作为继承关系中根节点的类通常都会定义一个虚析构函数。基类通常都会定义一个虚析构函数,即使该函数不执行任何实际操作也是如此。成员函数和继承派生类可以继承其基类的成员,也可以对基类中的虚函数进行重新定义。换句话说,派生类需要对这些操作提供自己的新定义以覆盖(overri... 阅读全文
posted @ 2014-10-29 09:09 Jessica程序猿 阅读(2227) 评论(0) 推荐(0)
摘要:面向对象程序设计基于四个基本概念:数据抽象、封装、继承和动态绑定。类的基本思想是数据抽象和封装。1 数据抽象数据抽象是一种依赖于接口和实现分离的编程技术。类的接口包括用户所能执行的操作;类的实现则包括类的数据成员、负责接口实现的函数体以及定义类所需的各种私有函数。2 封装封装实现了类的接口和实现的分... 阅读全文
posted @ 2014-10-29 08:16 Jessica程序猿 阅读(588) 评论(0) 推荐(0)
摘要:前面我们看到由一个实参调用的非显式构造函数定义了一种隐式的类型转换,这种构造函数将实参类型的对象转换成类类型。我们同样能定义对于类类型的类型转换,通常定义类型转换运算符可以做到这一点。转换构造函数和类型转换运算符共同定义了类类型转换,这样的转换有时也被称作用户定义的类型转换。类型转换运算符类型转换运... 阅读全文
posted @ 2014-10-29 08:13 Jessica程序猿 阅读(534) 评论(0) 推荐(0)
摘要:函数模板函数模板是那些被参数化的函数,它们代表的是一个函数家族。初探函数模板函数模板提供了一种函数行为,该函数行为可以用多种不同的类型进行调用;也就是说,函数模板代表一个函数家族。它的表示(即外形)看起来和普通的函数很相似,唯一的区别是函数元素是未确定的:这些元素将在使用时被参数化。定义模板下面是一... 阅读全文
posted @ 2014-10-28 22:16 Jessica程序猿 阅读(504) 评论(0) 推荐(0)
摘要:#if的使用说明#if的后面接的是表达式#if (MAX==10)||(MAX==20) code... #endif它的作用是:如果(MAX==10)||(MAX==20)成立,那么编译器就会把其中的#if 与 #endif之间的代码编译进去(注意:是编译进去,不是执行!!)#if defined... 阅读全文
posted @ 2014-10-28 19:20 Jessica程序猿 阅读(21757) 评论(0) 推荐(4)
摘要:STL 提供六大组件,彼此可以组合套用:1 容器(containers):各种数据结构,如vector,list,deque,set,map,用来存放数据,从实现的角度来看,STL容器是一种class template,就体积而言,这一部分很像冰山在海角下的比率。2 算法(algorithms):各... 阅读全文
posted @ 2014-10-28 17:51 Jessica程序猿 阅读(1124) 评论(0) 推荐(0)
摘要:题目:在一个整型数组中有一个元素的出现次数超过了数组长度的一半,试设计一个 在时间上尽可能高效的算法,找出这个元素。要求:(1)给出算法的基本设计思想。(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。(3)说明你所设计算法的时间复杂度和空间复杂度。(1)基本的设计思想:一... 阅读全文
posted @ 2014-10-28 16:19 Jessica程序猿 阅读(2972) 评论(0) 推荐(0)
摘要:C++ 虚函数表解析http://blog.csdn.net/haoel/article/details/1948051C++中虚函数工作原理和(虚)继承类的内存占用大小计算http://blog.csdn.net/hackbuteer1/article/details/7883531C++虚函数及... 阅读全文
posted @ 2014-10-27 15:54 Jessica程序猿 阅读(456) 评论(0) 推荐(0)
摘要:如果类重载了函数调用运算符,则我们可以像使用函数一样使用该类的对象。因为这样的类同时也能存储状态,所以与普通函数相比它们更加灵活。例如:struct absInt{ int operator()(int val) const{ return val<0?-val:val; ... 阅读全文
posted @ 2014-10-27 11:35 Jessica程序猿 阅读(1212) 评论(0) 推荐(0)
摘要:在迭代器类及智能指针类中常常用到解引用运算符(*)和箭头运算符(->)。 阅读全文
posted @ 2014-10-27 11:24 Jessica程序猿 阅读(247) 评论(0) 推荐(0)
摘要:在迭代器类中通常会实现递增运算符(++)和递减运算符(--),这两种运算符使得类可以在元素的序列中前后移动。C++语言并不要求递增和递减运算符必须是类的成员,但是因为它们改变的正好是所操作对象的状态,所以建议将其设定为类的成员。 阅读全文
posted @ 2014-10-27 11:23 Jessica程序猿 阅读(332) 评论(0) 推荐(0)
摘要:表示容器的类通常可以通过元素在容器中的位置访问元素,这些类一般会定义下标运算符operator[]。下标运算符必须是成员函数。 阅读全文
posted @ 2014-10-27 11:20 Jessica程序猿 阅读(325) 评论(0) 推荐(0)
摘要:已经介绍过拷贝赋值和移动赋值运算符,它们可以把类的一个对象赋值给该类的另一个对象。此外,类还可以定义其他赋值运算符以使用别的类型作为右侧运算对象。 阅读全文
posted @ 2014-10-27 11:18 Jessica程序猿 阅读(232) 评论(0) 推荐(0)
摘要:通常情况下,我们把算术和关系运算符定义成非成员函数以允许对左侧或右侧的运算对象进行交换。因为这些运算符一般不需要改变运算对象的状态,所以形参都是常量的引用。 阅读全文
posted @ 2014-10-27 11:16 Jessica程序猿 阅读(358) 评论(0) 推荐(0)
摘要:如我们所知,IO标准库分别使用>>和<<执行输入和输出操作。对于这两个运算符来说,IO库定义了用其读写内置类型的版本,而类则需要自定义适合其对象的新版本以支持IO操作。1重载输出运算符<<通常情况下,输出运算符的第一个形参是一个非常量ostream对象的引用。 阅读全文
posted @ 2014-10-27 11:14 Jessica程序猿 阅读(424) 评论(0) 推荐(0)
摘要:当运算符被用于类类型的对象时,C++语言允许我们为其指定新的含义;同时,我们也能自定义类类型之间的转换规则。和内置类型的转换一样,类类型转换隐式地将一种类型的对象转换成另一种我们所需类型的对象。 阅读全文
posted @ 2014-10-27 11:11 Jessica程序猿 阅读(356) 评论(0) 推荐(0)
摘要:由编译器自动分配的内存都有着严格的生存期。全局对象在程序启动时分配,在程序结束时销毁。对于局部自动对象,当我们进入其定义所在的程序块时被创建,在离开块时销毁。局部static对象在第一次使用前分配,在程序结束时销毁。除了自动和static对象外,C++还支持动态分配对象。动态分配的对象的生存期与它们... 阅读全文
posted @ 2014-10-27 10:58 Jessica程序猿 阅读(1361) 评论(0) 推荐(0)
摘要:一、什么是拷贝构造函数 首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=100;int b=a;而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #includeusing namespace std;class CEx... 阅读全文
posted @ 2014-10-25 21:38 Jessica程序猿 阅读(17620) 评论(2) 推荐(4)
摘要:1 声明式:所谓声明式是告诉编译器某个东西的名称和类型,但忽略细节。下面都是声明式:extern int x; //对象(object)声明式 记住:变量的声明加extern关键字std::size_t numDigits(int numbers); //函数(fu... 阅读全文
posted @ 2014-10-24 20:17 Jessica程序猿 阅读(1162) 评论(0) 推荐(0)
摘要:FlashCache呢是Facebook技术团队的又一力作,最初是为加速MySQL设计的。Flashcache是在Linux层面的,所以任何受磁盘IO困绕的软件或应用都可以方便的使用。为什么是用于加速MySqL呢,这个就涉及到数据库的专业知识了,传统磁盘的随机写随机读效率都相当低下,需要进行机械化的... 阅读全文
posted @ 2014-10-22 16:13 Jessica程序猿 阅读(2672) 评论(0) 推荐(0)
摘要:从centOS6.5开始直接把iso文件写入u盘就行了。方法1:windows平台:1.用UltraISO打开iso(如:CentOS-6.5-x86_64-bin-DVD1.iso)2.然后点“启动”->"写入硬盘映像",硬盘驱动器是你的u盘,映像文件安装光盘iso,写入方式是USB-HDD+,点... 阅读全文
posted @ 2014-10-22 10:54 Jessica程序猿 阅读(587) 评论(0) 推荐(0)
摘要:问题: #mount –t ntfs /dev/sdb1 /mnt/ mount: unknown filesystem type ‘ntfs’ 这是由于CentOS release 5.5(Final)上无法识别NTFS格式的分区。解决办法: 通过使用 ntfs-3g 来解决。 打开ntfs-3g... 阅读全文
posted @ 2014-10-21 21:04 Jessica程序猿 阅读(1786) 评论(0) 推荐(0)
摘要:1. 概述 守护进程是在后台运行且不与任何控制终端关联的进程。unix系统通常有很多守护进程在后台运行,执行不同的管理任务。 守护进程没有控制终端通常源于它们由系统初始化脚本启动。然而守护进程也可能从某个终端由用户在shell提示符下键入命令行启动,这样的守护进程必须亲自脱离与控制终端的关联,从而避... 阅读全文
posted @ 2014-10-20 23:30 Jessica程序猿 阅读(342) 评论(0) 推荐(0)
摘要:参考文章:http://blog.csdn.net/andyxie407/article/details/1672325今天在运行在APUE第16章的16-14(客户端)和16-15(服务端)遇到了不少问题,搞了半天,运行方法多谢andyxie407的文章给了很好地参考(本来就一样,不叫参考),后面... 阅读全文
posted @ 2014-10-20 23:02 Jessica程序猿 阅读(353) 评论(0) 推荐(0)
摘要:一 Linux守护进程Linux 服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。提供这些服务的程序是由运行在后台的守护进程来执行的。守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们... 阅读全文
posted @ 2014-10-20 20:29 Jessica程序猿 阅读(3565) 评论(0) 推荐(0)
摘要:安装:yum -y install gcc automake autoconf libtool make安装g++:yum install gcc gcc-c++ 阅读全文
posted @ 2014-10-20 20:27 Jessica程序猿 阅读(304) 评论(0) 推荐(0)
摘要:ngx_int_tngx_daemon(ngx_log_t *log){ int fd; // 让init进程成为新产生进程的父进程: // 调用fork函数创建子进程后,使父进程立即退出。这样,产生的子进程将变成孤儿进程,并被init进程接管, // 同时,所产生的新进... 阅读全文
posted @ 2014-10-20 16:38 Jessica程序猿 阅读(5147) 评论(0) 推荐(0)
摘要:孤儿进程和守护进程通过前面的学习我们了解了如何通过fork()函数和vfork()函数来创建一个进程。现在 我们继续深入来学习两个特殊的进程:孤儿进程和守护进程一.孤儿进程1.什么是 孤儿进程如果一个子进程的父进程先于子进程 结束, 子进程就成为一个孤儿进程,它由 init 进程收养,成为 init... 阅读全文
posted @ 2014-10-20 16:27 Jessica程序猿 阅读(3265) 评论(0) 推荐(0)
摘要:/proc/sys/net目录 所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的,任何修改在系统重启后都会丢失),例如下面这些重要的参数:参数(路径+文件)描述默认值优化值/proc/sys/net/core/rmem_d... 阅读全文
posted @ 2014-10-16 11:12 Jessica程序猿 阅读(19902) 评论(1) 推荐(0)
摘要:软件简介亿图图示专家是一款综合矢量绘制软件,新颖小巧,功能强大,可以很方便的绘制各种专业的流程图、组织结构图、网络拓扑图、思维导图、商业图表、科学设计图等。轻轻松松绘制各种专业流程图,网络图,思维导图及商业图表。 采用更智能人性化的绘制方式,丰富的图形模板库和特色实例库,它将帮助您最大程度的减少工作... 阅读全文
posted @ 2014-10-13 17:53 Jessica程序猿 阅读(3733) 评论(2) 推荐(1)
摘要:一、编辑/etc/vim/vimrc.tiny由于/etc/vim/vimrc.tiny的拥有者是root用户,所以要在root的权限下对这个文件进行修改。很简单,这个文件里面的倒数第二句话是“set compatible”,如下所示: 将“compatible... 阅读全文
posted @ 2014-10-13 17:36 Jessica程序猿 阅读(871) 评论(0) 推荐(0)
摘要:什么是僵尸进程?首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息。这些信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间,所以当终止子进程的父进程调用wait或waitpid时就可以得到这些信息。而僵尸... 阅读全文
posted @ 2014-10-12 13:35 Jessica程序猿 阅读(27663) 评论(3) 推荐(12)
摘要:早期UNIX系统的一个特性是:如果在进程执行一个低速系统调用而阻塞期间捕捉到一个信号,则该系统调用就被中断不再继续执行。该系统调用返回出错,其errno设置为EINTR。这样处理的理由是:因为一个信号发生了,进程捕捉到了它,这意味着已经发生了某种事情,所以是个好机会应当唤醒阻塞的系统调用。在这里,我... 阅读全文
posted @ 2014-10-12 11:08 Jessica程序猿 阅读(3700) 评论(0) 推荐(2)
摘要:一 可重入函数当一个被捕获的信号被一个进程处理时,进程执行的普通的指令序列会被一个信号处理器暂时地中断。它首先执行该信号处理程序中的指令。如果从信号处理程序返回(例如没有调用exit或longjmp),则继续执行在捕获到信号时进程正在执行的正常指令序列(这和当一个硬件中断发生是所发生的事情相似。)但... 阅读全文
posted @ 2014-10-12 09:58 Jessica程序猿 阅读(7162) 评论(1) 推荐(0)
摘要:iSCSI 主要是透过 TCP/IP 的技术,将储存设备端透过 iSCSI target (iSCSI 目标) 功能,做成可以提供磁盘的服务器端,再透过 iSCSI initiator (iSCSI 初始化用户) 功能,做成能够挂载使用 iSCSI target 的客户端,如此便能透过 iSCSI ... 阅读全文
posted @ 2014-10-11 19:36 Jessica程序猿 阅读(25956) 评论(0) 推荐(0)
摘要:配置步骤:1、查看安装是否安装iSCSI驱动rpm -qa|grep iscsi2、查看yum安装源yum list |grep iscsi3、安装iscsi驱动yum install iscsi-initiator-utils4、配置客户端名称vim /etc/iscsi/initiatornam... 阅读全文
posted @ 2014-10-11 17:00 Jessica程序猿 阅读(1473) 评论(0) 推荐(0)
摘要:1. exit用于结束正在运行的整个程序,它将参数返回给OS,把控制权交给操作系统;而return 是退出当前函数,返回函数值,把控制权交给调用函数。2. exit是系统调用级别,它表示一个进程的结束;而return 是语言级别的,它表示调用堆栈的返回。3. 在main函数结束时,会隐式地调用exi... 阅读全文
posted @ 2014-10-11 16:49 Jessica程序猿 阅读(1387) 评论(0) 推荐(0)
摘要:vim中字符串出现次数的统计在所有行中查找 字符串 出现的次数:%s/字符串//gn:%s/字符串/&/gn在m和n行之间查找 字符串 出现的次数:m,ns/字符串/&/gnC-r (register) 在insert模式下插入寄存器对应的内容在insert模式下,C-r (register) 插入... 阅读全文
posted @ 2014-10-11 15:41 Jessica程序猿 阅读(596) 评论(0) 推荐(0)
摘要:要对系统中进程进行监测控制,查看状态,内存,CPU的使用情况,使用命令:/bin/ps(1)ps:是显示瞬间进程的状态,并不动态连续;(2)top:如果想对进程运行时间监控,应该用top命令;(3)kill用于杀死进程或者给进程发送信号;(4)查看文章最后的man手册,可以查看ps的每项输出的含义,... 阅读全文
posted @ 2014-10-11 15:17 Jessica程序猿 阅读(5122) 评论(0) 推荐(0)
摘要:RPM 有五种基本的操作方式(不包括创建软件包): 安装, 卸载, 升级, 查询,和验证。 下面我们就来逐一的讲解吧。一、 安装RPM包RPM 软件包通常具有类似foo-1.0-1.i386.rpm 的文件名。其中包括 软件包的名称(foo),版本号(1.0),发行号(1), 和 硬件平台(i386... 阅读全文
posted @ 2014-10-11 15:15 Jessica程序猿 阅读(2113) 评论(0) 推荐(0)
摘要:任何时候,多个进程可能同时使用TCP、UDP和SCTP这3种传输层协议中的任何一种。这3种协议都使用16位整数的端口号来区分这些进程。当一个客户想要跟一个服务器联系时,它必须标识想要与之通信的这个服务器。TCP、UDP和SCTP定义了一组众所周知的端口号,用于标识众所周知的服务。另一方面,客户通常使... 阅读全文
posted @ 2014-10-11 12:47 Jessica程序猿 阅读(3524) 评论(0) 推荐(0)
摘要:与TCP一样,SCTP也是面向连接的,因而也有关联的建立与终止的握手过程。不过SCTP的握手过程不同于TCP。四路握手建立一个SCTP关联的时候会发生下述情形(类似于TCP)。(1)服务器必须准备好接受外来的关联。这通常通过调用socket、bind和listen函数来完成,称为被动打开。(2)客户... 阅读全文
posted @ 2014-10-11 12:36 Jessica程序猿 阅读(1295) 评论(0) 推荐(0)
摘要:三路握手建立一个TCP连接时会发生下述情形。(1)服务器必须准备好接受外来的连接。这通常通过调用socket、bind和listen这3个函数来完成的,我们称之为被动打开。(2)客户通过调用connect发起主动打开。这导致客户TCP发送一个SYN(同步)分节,它告诉服务器客户将在(待建立的)连接中... 阅读全文
posted @ 2014-10-11 11:37 Jessica程序猿 阅读(1703) 评论(0) 推荐(0)
摘要:总图虽然协议族被称为“TCP/IP”,但除了TCP和IP这两个主要协议外,还有许多其他成员。图2-1展示了这些协议的概况。图2-1中同时展示了IPV4和IPV6。从右向左看该图,最右边的5个网络应用在使用IPV6,随后的6个网络应用使用IPV4。最左边名为tcpdump的网络应用或者使用BSD分组过... 阅读全文
posted @ 2014-10-11 10:17 Jessica程序猿 阅读(2315) 评论(0) 推荐(0)
摘要:#includepid_t fork(void); 返回:在子进程中为0,在父进程中为子进程IO,... 阅读全文
posted @ 2014-10-10 23:23 Jessica程序猿 阅读(2484) 评论(0) 推荐(0)
摘要:最近在CentOS6.4下使用其默认的文档查看器打开PDF文档时出现乱码的方块,有两种方法可以解决。 方法一:修改/etc/fonts/conf.d/49-sansserif.conf文件,如下:[html]view plaincopysans-serifserifmonospace文泉驿正黑将上面... 阅读全文
posted @ 2014-10-10 22:55 Jessica程序猿 阅读(1103) 评论(0) 推荐(0)
摘要:一 分层TCP/IP网络协议栈分为应用层(Application)、传输层(Transport)、网络层(Network)和链路层(Link)四层。1)链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。2)网络层,有时也称作互联网层,处理分组在网络... 阅读全文
posted @ 2014-10-10 22:54 Jessica程序猿 阅读(262) 评论(0) 推荐(0)
摘要:Ubuntu下的文档编辑虽然有libreoffice,但对中文和公式的排版始终不如ms office,因此要想写出高质量的文档,只能靠latex了,现在随着xeCjk的开发,中文文档在ubuntu下的排版已经非常棒了,已经足够支持和成熟,其组合是:texlive2014+texmaker+lyx+中... 阅读全文
posted @ 2014-10-10 22:52 Jessica程序猿 阅读(2884) 评论(0) 推荐(0)
摘要:在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区别的。 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 (2)grep是根据文件的内容进行查找,会对文件的每一行按照... 阅读全文
posted @ 2014-10-09 15:43 Jessica程序猿 阅读(3675) 评论(0) 推荐(1)