自定义博客皮肤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)
  • 收藏
  • 关注

转载 Linux中的特殊权限粘滞位(sticky bit)详解

Linux下的文件权限在linux下每一个文件和目录都有自己的访问权限,访问权限确定了用户能否访问文件或者目录和怎样进行访问。最为我们熟知的一个文件或目录可能拥有三种权限,分别是读、写、和执行操作,在这里不做详细说明。我们创建一个文件后系统会默认地赋予所有者读和写权限。当然我们也可以自己修改它,添加自己需要的权限。特殊权限但是这三种权限就足够了吗?我们现在来说说在linux

2016-09-28 22:06:58 1334

转载 C++的引用类型的变量到底占不占用内存空间?

分析一下 C++ 里面的引用类型(例如: int &r = a;  )中的 r 变量是否占用内存空间呢?是否和  int *p = &a;  中的 p 变量一样占用内存空间呢?本文将给出答案。直接看一个简单的例子:#include using namespace std;int main(void){ int a = 6; int &r

2016-09-27 22:52:32 3457 1

转载 Shell重定向&>file、2>&1、1>&2的区别

shell上:0表示标准输入1表示标准输出2表示标准错误输出> 默认为标准输出重定向,与 1> 相同2>&1 意思是把 标准错误输出 重定向到 标准输出.&>file 意思是把 标准输出 和 标准错误输出 都重定向到文件file中用例子说话:1. grep da * 1>&2 2. rm -f $(find / -name core) &>

2016-09-27 17:10:25 290

转载 git

配置首先是配置帐号信息git config -e [--global] # 编辑Git配置文件git config --global user.name yanhaijinggit config --global user.email yanhaijing@yeah.netgit config --list #查看配置的信息git help config #获取帮助信

2016-09-25 21:18:04 218

转载 touch命令:建立空文件,修改文件的时间

touch命令:建立文件touch的功能并不是用来创建新文件的,创建文件是touch命令的一个特殊情况,touch是用来修改指定的文件的访问和修改时间属性,如果指定的文件不存在,将建立一个新的空文件,并以当前的时间来设置文件的访问和修改时间。touch -r  [文件名]例:1、创建两个文件,并以当前的时间设定其修改和

2016-09-17 22:03:32 3917

转载 C ++ 函数后面加throw()的作用

Following declaration gives a message to the user of your class: my method doesn't throw any exception. Don't bother to put a try/catch block around itwhen you use it.void A::foo() throw();

2016-09-17 21:22:48 505

转载 linux下如何用GDB调试c++程序

GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。 一般来说,GDB主要帮忙你完成下面四个方面的功能:启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。可

2016-09-12 14:50:58 331

转载 成员变量在结构体中的偏移——offsetof(type, member)

转自http://blog.csdn.net/gdutliuyun827/article/details/8440552size_t offsetof(type, member):看上去像个函数其实这是一个宏;用于求取member成员在类型为type的结构体中的偏移量;(member是type中的一个成员,否则会出错)。先看一个例子,稍后再看其中的实现。[cpp]

2016-09-09 15:41:09 1111

转载 linux新的API signalfd、timerfd、eventfd使用说明

三种新的fd加入linux内核的的版本:signalfd:2.6.22timerfd:2.6.25eventfd:2.6.22三种fd的意义:signalfd:传统的处理信号的方式是注册信号处理函数;由于信号是异步发生的,要解决数据的并发访问,可重入问题。signalfd可以将信号抽象为一个文件描述符,当有信号发生时可以对其read,这样可以将信号的监听放到se

2016-09-09 15:32:01 260

转载 linux新API---signalfd的使用方法

转自http://blog.csdn.net/yusiguyuan/article/details/22934743linux新API--signalfd的使用方法名字signalfd - 创建一个用于所受信号的文件描述符概要#include int signalfd(int fd, const sigset_t*mask, intflags);描述sign

2016-09-09 15:12:15 1276

转载 浅析open函数O_CLOEXEC模式和fcntl函数FD_CLOEXEC选项

关于open函数O_CLOEXEC模式,fcntl函数FD_CLOEXEC选项,总结为如下几点:1.调用open函数O_CLOEXEC模式打开的文件描述符在执行exec调用新程序中关闭,且为原子操作。2.调用open函数不使用O_CLOEXEC模式打开的文件描述符,然后调用fcntl 函数设置FD_CLOEXEC选项,效果和使用O_CLOEXEC选项open函数相同,但分别调用

2016-09-09 15:08:20 441

转载 生产者消费者模型(Linux系统下的两种实现方法)

生产者消费者问题是同步问题中的一种常见情况,借用一下维基百科的话生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案例。该问题描述了两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲

2016-09-08 17:57:06 462

转载 Linux C++ 使用condition实现阻塞队列

[cpp] view plain copy /*  * BlockingQueue.h  *  *  Created on: 2014年6月10日  *      Author:   */    #ifndef BLOCKINGQUEUE_H_  #define BLOCKINGQUEUE_H_    #include   

2016-09-08 15:35:58 549

转载 spurious wakeup虚假唤醒

看过apue大家都知道互斥器用于排他性的访问共享数据而不是等待原语,如果需要等待某个条件发生需要用条件变量。而当用条件变量的时候需要检查某个布尔表达式是否为真,进行这项检查的时候需要互斥器来保护,所以此时互斥器和条件变量联合起来用于同步。互斥器和条件变量用法如下:pthread_mutex_lock(&lock);while (condition_is_false) {    

2016-09-07 12:04:08 488

转载 readv和writev函数

readv和write函数用于在一次函数调用中读,写多个非连续缓冲区。[cpp] view plain copy #include  ssize_t readv(int filedes, const struct iovec *iov, int iovcnt);  ssize_t writev(int filedes, const s

2016-09-06 12:17:25 649

转载 c++ 智能指针及 循环引用问题

c++智能指针介绍由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete,比如流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见,并造成内存泄露。如此c++引入 智能指针 ,智能指针即是C++ RAII的一种应用,可用于动态资源管理,资源即对象的管理策略。 智能指针在 标头文件的 std 命名空间中

2016-09-05 19:58:01 437

转载 epoll详解

什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。 epol

2016-09-04 17:46:54 304

转载 解题:不用循环、递归,如何从 1 打印到 100?

http://group.jobbole.com/22100/在 Quora 上看到有个程序员的提问:如果不用循环、递归、goto,我如何才能用 C++ 从 1 打印到 100 ?原题主问的是用 C++ 来实现。【2016-08-10 更新】:补充国外程序员的一些方案:Mark Gordon, ICPC 2011 Gold

2016-09-03 18:09:18 1123

转载 详解大端模式和小端模式

详解大端模式和小端模式嵌入式开发交流群280352802,欢迎加入!一、大端模式和小端模式的起源        关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯

2016-09-03 12:50:39 200

转载 TCP的流量控制与拥塞控制

一、TCP的流量控制1、利用滑动窗口实现流量控制    如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。    利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。    设A向B发送数据。在连接建立时,B告诉了A:“我的接收窗口是rwnd = 400”(这里的rwnd表示re

2016-09-03 11:32:20 315

原创 C++ 虚重载操作符 virtual operator= 使用方法

C++中虚操作符和其他虚函数的规则一样,操作符可以为虚函数,进行动态绑定, 虽然这种情况并不多见。本文以赋值操作符operator=举例。派生类中要重定义基类虚函数,要注意参数必须为基类引用类型,否则与基类中虚函数是完全不同的,无法进行预期的动态绑定。派生类除了重定义基类的虚操作符,还要定义自身的操作符重载。即派生层次每增加一层,理论上派生类就需要多定义一个操作符重载。以下程序使用

2016-09-02 19:39:59 6855

空空如也

空空如也

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

TA关注的人

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