自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

唯手熟尔

如果我们想做些什么,没有事情可以阻挡我们。

  • 博客(75)
  • 资源 (2)
  • 收藏
  • 关注

原创 机能的健壮性

代码健壮性考虑点:非时序相关主要考虑各种边界值,无效值,有效值以及特定的值。时序相关非时序相关的点考虑各个相关机能处理的先后顺序对结果的影响。理论上先后顺序不应该对结果有影响另外:每次修改时都要考虑上述的问题。

2016-09-18 20:33:13 456

原创 boost property_tree 解析json文件

boost property_tree解析json文件相关文档如下:json_parser、basic_ptreejson_parser:read_json(filename, ptree):用于将filename文件中的内容读入ptree结构中。write_json(filename, ptree):用于将ptree结构中的内容写入filename中。basic_ptre

2015-03-11 20:28:34 6158

翻译 在cmake中使用doxygen生成document

FIND_PACKAGE(Doxygen)OPTION(BUILD_DOCUMENTATION "Create and install the HTML based API documentation (requires Doxygen)" ${DOXYGEN_FOUND})IF(BUILD_DOCUMENTATION) IF(NOT DOXYGEN_FOUND) M

2015-01-14 20:11:18 5936

转载 win7中将文件拷贝到虚拟机linux下的方法

win7中将文件拷贝到虚拟机linux下(本人的linux操作系统是centos6.0)的方法:如下图,在已安装好的虚拟主机上点击右键,选setting,在弹出的菜单中选options,选shared flolders 勾选右边的always enabled然后选下面的add添加一个指定的目录即可;设置好后,进入linux系统中,在/mnt/hgfs/下即可看到刚才设置的共享文件夹

2014-08-14 09:48:58 14944

转载 改造Emacs GDB调试的多窗口布局

转自:http://ppgunjack.iteye.com/blog/1179657Emacs支持多窗口的GDB调试,要打开GDB的多窗口模式只需要设置Emacs全局变量gdb-many-windows 为true。但默认的多窗口感觉并不够用,没有汇编窗口,在学习一些语言底层实现的时候有时还需要看看汇编和寄存器内容。 研究Emacs的GBD ui脚本发现Emacs的GD

2014-07-06 17:15:40 5894

转载 Ubuntu下boot分区剩余空间不足解决

转自:http://www.2cto.com/os/201305/208245.html

2014-06-30 14:26:56 22886 3

转载 到底怎样才算看书

转自:http://www.cnblogs.com/ytaozhao/archive/2012/08/26/2657018.html目录:一、引入二、经历了就能理解三、读书要分级四、只读经典五、别吝惜你动笔的那点时间 一、引入    看到这个题目的时候你可能会感到有点好笑:“这还用问,看书就是把书看了一遍呗..” 没错,我们从小到大就

2014-02-02 16:56:49 1342

转载 在linux上增加swap交换空间

转自:http://wenku.baidu.com/view/9ced300b76c66137ee061927.html在linux上增加swap交换空间 想在虚拟机里面安装oracle10g,发现默认的swap交换空间不满足最低要求,因为我分配的物理内存是1G,那么就按照要求需要2G的swap交换空间,默认只有1G的交换空间。添加swap交换空间的步骤如下: 

2013-07-27 20:09:09 775

转载 [C/C++]函数参数的入栈顺序与可变参数的实现

转自:http://blog.sina.com.cn/s/blog_54f82cc2010133mn.html#includevoid foo(int x, int y, int z){       printf("x = %d at [%X]\n", x, &x);       printf("y = %d at [%X]\n", y, &y);       printf

2013-06-26 16:22:49 805

原创 第15章进程间通信

15.1引言1.经典的IPC:管道、FIFO、消息队列、信号量以及共享存储器。2.套接字和STREAMS是仅有的两种支持不同主机上各个进程间IPC的类型。15.2管道1.管道有下面两种局限性:历史上,它们是半双工的。它们只能在具有公共祖先的进程之间使用。通常,一个管道由一个进程创建,然后该进程调用fork,此后父、子进程之间就可以应用该管道。

2013-06-01 18:26:28 661

转载 Linux下去除windows密码

转自:http://linux.cn/thread/10723/1/1/今天遇到一件囧事,长时间不进Windows环境结果把自己设置的密码给忘记了,于是便发了一条微博。热心朋友一大堆,给我推荐各种各样的方法,自己也到网上搜了一搜,原来在Linux下去除Windows的密码是那么简单。方法步骤如下:一、安装工具chntpw这个工具应该在各大发行版的官源里都存在(Linux对Win

2013-05-29 14:29:14 830

原创 读C++虚函数表及C++对象的内存布局笔记

C++虚函数表解析:http://blog.csdn.net/haoel/article/details/1948051C++对象的内存布局(上):http://blog.csdn.net/haoel/article/details/3081328C++对象的内存布局(下):http://blog.csdn.net/haoel/article/details/3081385

2013-05-15 19:07:45 743

原创 apue习题10.6

#include #include #include #include #include #include #include static volatile sig_atomic_t sigflag; /* sig_atomic_t:写此种变量时不会被中断 */static sigset_t newmask, oldmask, zeromask;static void sig

2013-05-09 22:25:31 1006 1

转载 apue习题10.5

转自:http://blog.chinaunix.net/uid-738944-id-3395433.htmlapue的第十章的习题10.5 仅使用一个计时器(alarm或较高精度的setitimer),构造一组函数,使得进程可以设置任一数目的计时器。设计下面两个函数int settimer(int seconds, void (*proc)(int));int can

2013-05-08 22:16:19 1081

原创 面向对象编程的三个基本特征

面向对象编程的三个基本特征:封装、继承、多态1.封装:将客观事物抽象成类,每个类对自身的数据和方法实行 protection。2.继承:接口继承、实现继承接口继承:public派生类继承基类的接口,它具有与基类相同的接口。实现继承:使用private或protected派生的类不继承基类的接口,相反,这些派生类通常被称为实现继承。3.多态:是将父对象设置成为和一个或更多的他的子

2013-05-06 20:33:36 2420

原创 malloc,free动态申请释放内存机制

1.当堆中的空间不足时,malloc会调用sbrk系统调用来想操作系统申请获得更多的堆空间。虽然sbrk可以扩充货缩小进程的存储空间,但是大多数malloc和free的实现都不减小进程的存储空间。释放的空间可供以后再分配,但通常将他们保持在malloc池中而不返回给内核。2.堆中的空闲块组成一个空闲链表,每个空闲块在开始处都有一个结构用于存放管理记录,在管理记录中存放着该块的大小(size)和

2013-04-27 22:22:48 1436

转载 int 0x80h

转自: http://it.zhans.org/04/446.htm之所以会写篇博文说下int 80h中断, 是因为它是linux类操作系统内核在Intel类CPU架构上作为系统调用使用的中断号, 所谓系统调用是内核提供的一系列有特权功能的函数集合,为什么要有syscall是本着安全的角度来看的或者效率等等, OS把整个空间分为用户空间和内核空间,顾名思义,内核空间的特权比用户空间多,

2013-04-27 09:37:37 2119

转载 GDB Python pretty printers配置打印c++中stl库容器

转自:http://lumiera.org/documentation/technical/howto/DebugGdbPretty.htmlInstallation notesThis feature requires an python enabled GDB (>6.8.50). Actually, even the most recent stableGDB (Vers

2013-04-18 18:09:30 1657

原创 读书笔记之 Advanced Bash-Scripting Guide Chapter 4 Introduction to Variables and Parameters

1. Note that $variable is actually a simplified form of${variable}.2. An uninitialized variable has no value, however it acts as if it were 0 in an arithmetic operation. This is undocumented (and

2013-04-15 23:40:40 770 2

原创 c与c++中enum,struct,union主意点

enum boolen{FALSE, TURE};在c中定义枚举类型是必须是enum boolen isRight在c++中定义枚举类型enum boolen isRight;或boolen isRight;2.枚举类型相当于unsigned,对枚举类型进行sizeof操作不管是对类型名还是对枚举成员,其sizeof后的值都相当与sizeof(unsigned),为4。3.

2013-03-26 20:37:30 929

原创 linux下命令行上无线网

此是我能实现上网的步骤。1.sudo iwconfig wlan0 txpower auto2sudo ifconfig wlan0 up3.sudo iwlist wlan0 scan4.sudo iwconfig wlan0 essid "CMCC-EDU" rate 54M freq 2.462g5.sudo dhclient wlan0下面转

2013-03-01 23:07:25 6733

转载 [Linux] ls和size命令以及程序内存映像、磁盘映像的理解

转自:http://blog.chinaunix.net/uid-9012903-id-2011435.html下午试验一个小程序来着,用到size 命令,后来发现只是一个空程序体的话,size 命令仍然显示编译出的a.out 的bss 段大小有四个字节,于是去google 了下size 命令的相关用法之类,没想到找出来一篇关于程序内存映像和磁盘映像等的不错的说明。又给自己扫盲了。一共有两个帖

2013-01-07 15:20:05 5456 2

原创 apue 习题5.1 用setvbuf实现setbuf

/* 用setvbuf实现setbuf */#include #include #include "myheader.h"void mysetbuf(FILE *fp, char *buf){ if (buf == NULL) { if (setvbuf(fp, buf, _IONBF, BUFSIZ) != 0) { perror(

2013-01-04 22:16:04 1994 3

原创 sed

sed在处理文件的时候,每一行都需要存放在一个叫“模式空间”的临时缓存区!每处理完一行,便清理一次(pattern space),并把下一行再次放入!而保留空间(hole space),是当sed用到h命令的时候,把匹配的模式放在一个叫做"hold buffer"的保留缓冲里,但需要使用G(sed的取得命令)的时候,sed 从这个保留空间(hold space)中取得(G),....1

2012-12-24 13:46:08 571

原创 [[]]与[]的差别

1.No filename expansion or word splitting takes place between [[ and ]], but there is parameter expansion and command substitution.2.The &&, ||, operators work within a [[ ]] test, despite giving a

2012-12-20 21:38:31 763

原创 读书笔记-第四章

4.2stat、fstat和lstat函数#include int stat(const char *restrict pathname, struct stat *restrict buf);int fstat(int filedes, struct stat *buf);int lstat(const char *restrict pathname, struct stat *r

2012-12-10 22:02:24 425

原创 读书笔记_第三章

3.2文件描述符对于内核而言,所有打开的文件都是通过文件描述符引用。文件描述符是一个非负整数常量STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO分别代表标准输入、标准输出、标准出错输出,定义在头文件中。3.3open函数(P48)#include int open(const char *pathname, int oflag, .../* m

2012-11-28 22:46:10 929

原创 读书笔记——第二章

2.5限制两种类型的限制:编译时限制(例如,短整型的最大值是什么?)运行时限制(例如,文件名可以有多少个字符?)为了解决这类问题,提供了一下三种限制:编译时限制(头文件)不与文件或目录相关联的运行时限制(sysconf函数)与文件或目录相关联的运行时限制(pathconf和fpathconf函数)2.5.4sysconf、pathconf和fpa

2012-11-26 22:45:20 397

转载 GDB中应该知道的几个调试方法

转自:http://coolshell.cn/articles/3643.html一、多线程调试多线程调试可能是问得最多的。其实,重要就是下面几个命令:info thread 查看当前进程的线程。thread 切换调试的线程为指定ID的线程。break file.c:100 thread all  在file.c文件第100行处为所有经过这里的线程设置断点。set sched

2012-10-26 17:58:17 437

转载 linux下dd命令详解及应用实例

转自:http://blog.csdn.net/jiazhen/article/details/3938313名称: dd使用权限: 任何使用者dd 这个指令在 manual 里的定义是 convert and copy a file使用方式:dd [option]查看帮助说明dd --help或是info dd查看版本:dd --version

2012-10-06 21:11:18 557

翻译 tee

1.作用从标准输入读入数据,同时写道标准输出跟文件中。2.格式tee [OPTION]... [FILE]...3.说明拷贝标准输入中的数据到每个文件,同时拷贝到标准输出中4.参数-a:接到给定文件的末尾,并不覆盖。-i:忽略中断信号

2012-09-17 20:43:11 978

原创 我的emacs配置

插件在百度空间中。;;使用C-x C-e检测配置的正确性(global-linum-mode t);显示行号(setq column-number-mode t);显示列号(setq auto-image-file-mode t);让Emacs可以直接打开和显示图片(auto-compression-mode t);打开压缩文件时自动解压缩;(setq global-font-loc

2012-09-14 16:52:43 4595

翻译 mkdir

1.作用mkdir——创建文件夹2.格式mkdir [OPTION] ... DIRECTORY...3.说明如果目录不存在,则创建。文件夹参数可以是多个文件夹4.参数-m:设置文件的访问权限。默认是a= rwx - umask-p:需要是创建上层目录,如果目录存在则不当作错误-v:为每个创建了的文件夹打印提示信息。

2012-09-14 16:43:35 559

转载 extern 用法,全局变量与头文件(重复定义)

用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字,如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include(xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢??这个问题一直也是似是而非的困扰着我许多年了,今天上网狠狠查了一下总算小有所获了:头文件首先说下头文件,其实头文件对计算机而言没什么作用,她只是在预编译时在#in

2012-09-14 15:35:57 830

翻译 file

1.作用file的作用——根据文件的内容判断文件的类型。2.格式file [-bchikLnNprsvz] [--mime-type] [--mine-encoding] [-f namefile] [-F separator] [-m magicfiles] filesfile -C [-m magicfile]file [--help]3.说明使

2012-09-14 14:40:39 535

转载 ubuntu 10.04 网络链接 在面板上消失的处理方式

sudo service nework-manager stopsudo rm  /var/lib/NetworkManager/NetworkManager.state    (可能不存在)sudo service nework-manager startsudo getdit /etc/NetworkManager/nm-system-settings.conf把false

2012-09-06 21:08:51 580

翻译 last & lastb

1.作用列出最近登陆的用户2.格式last [-R] [-num] [-n num] [-adFiox] [-f file] [-t YYYYMMDDHHMMSS] [name...] [tty...]lastb [-R] [-num] [n num] [-f file] [-adFiox] [name...] [tty...]3.说明last 列出自从

2012-09-05 14:11:04 3260

翻译 chsh

1.作用更改使用者的shell设定,它的使用权限是所有使用者。2.格式chsh [options] [LOGIN]3.参数-h:显示帮助信息-s:设定用户新的登陆shell,如果该区域是空值则设定为默认登陆shell。4.说明普通用户只能修改自己的shell,超级用户可以修改全体用户的shell

2012-09-05 12:16:05 592

转载 UNIX IO---再谈文件描述符

转自:http://keren.blog.51cto.com/720558/170822原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://keren.blog.51cto.com/720558/170822在C程序中,文件由文件指针或者文件描述符表示。ISO C的标准I/0库函数(fopen,

2012-09-04 14:20:22 579

转载 mount & umount

Linux mount命令是经常会使用到的命令,它用于挂载Linux系统外的文件,此命令的最常用于挂载cdrom,使我们可以访问cdrom中的数据,因为你将光盘插入cdrom中,Linux并不会自动挂载,必须使用Linux mount命令来手动完成挂载。Linux显示所有的目录都在一个目录树下,而于他们位于哪一个驱动器/硬件无关。在Linux下的磁盘内容作为子目录形式出现的。fdi

2012-09-03 09:50:11 10110

设计模式精解-c++

懂了设计模式,你就懂了面向对象分析和设计(OOA/D)的精要。反之好像也可能成 立。道可道,非常道。道不远人,设计模式亦然如此。 一直想把自己的学习经验以及在项目中的应用经历拿出来和大家共享, 却总是下不了这 个决心:GoF 的 23 种模式研读、总结也总需要些时日,然而时间对于我来说总是不可预计 的。 之所以下了这个决心,有两个原因:一是 Robert 的箴言,二是因为我是一个感恩的人, 就像常说的:长怀感恩之心,人生便无遗憾。想想当时读 GoF 的那本圣经时候的苦闷、实 现 23 个模式时候的探索、悟道后的欣悦,我觉得还是有这个意义

2011-11-14

空空如也

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

TA关注的人

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