自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (12)
  • 收藏
  • 关注

转载 写时拷贝(copy-on-write) COW技术

一、写时拷贝的概念——COW技术在Linux进程上的应用 Linux在使用fork()函数进程创建时,传统fork()的做法是系统把所有的资源复制给新创建的进程,这种方式不仅单一,而且效率低下。因为所拷贝的数据或别的资源可能是可以共享的。现在Linux的fork()使用写时拷贝页来实现新进程的创建,它是一种可推迟甚至避免数据拷贝的技术,刚开始时内核并不会复制整个地址空间,而是让父子进...

2019-02-28 12:15:58 1860

原创 C++11:lambda表达式的陷阱

1、对于lambda表达式,避免使用默认捕获模式1.1 对于lambda表达式,避免使用默认捕获模式个人看法 英文原著中使用的是“avoid default capture modes”,所以我在文中翻译为“避免使用默认捕获模式”,但是我认为把“默认捕获模式”称为“隐式捕获模式”更好,因为作者所指的“默认捕获模式”是指在捕获语句中只出现等号或者引用符号(即“[=]”或“[&a...

2019-02-28 11:36:49 2803

转载 boost::function和boost::bind

http://www.xumenger.com/cpp-boost-bind-function-20180612/boost::functionboost::function是一个函数包装器,也即一个函数模板,可以用来代替拥有相同返回类型,相同参数类型,以及相同参数个数的各个不同的函数#include<boost/function.hpp>#include<ios...

2019-02-28 11:05:11 4833

原创 Nginx中if语句里的AND,OR多重判断

最近遇到Nginx钟多条件判断,网上查了查资料,这里记录一下。一、if语句中的判断条件(nginx)1、正则表达式匹配:==:等值比较;~:与指定正则表达式模式匹配时返回“真”,判断匹配与否时区分字符大小写;~*:与指定正则表达式模式匹配时返回“真”,判断匹配与否时不区分字符大小写;!~:与指定正则表达式模式不匹配时返回“真”,判断匹配与否时区分字符大小写;!~*:与指...

2019-02-21 15:52:55 13107

原创 C++11 find和find_if的用法

回顾学习find和find_if, 网上查了一下资料,这里记录一下。 STL的find,find_if函数提供了一种对数组、STL容器进行查找的方法。使用该函数,需 #include <algorithm>我们查找一个list中的数据,通常用find(),例如:1、findusing namespace std;int main(){ ...

2019-02-19 15:09:35 50361 6

转载 boost::lexical_cast 的使用

1,字符串 到 数值类型的转换2,数值 到 字符串的转换3,异常处理情况4,boost::lexical_cast 的原型:template<typename Target, typename Source> Target lexical_cast(Source arg);lexical_cast 是依赖于字符串流 std::stringstream ...

2019-02-18 17:37:52 957

转载 C++学习 boost::optional详解

最近接触到boost::optional,网上查了查,这里学习记录一下!optional: optional库使用"容器"语义,包装了"可能产生无效值"的对象,实现了"未初始化"的概念.#include <boost/optional.hpp>using namespace boost;"无意义"的值: 函数并不总能返回有效的返回值,很多时候函...

2019-02-18 15:46:15 15717 1

转载 C++的RVO返回值优化(Return Value Optimization)

      最近打算优化新项目的一个函数返回方式,最后发现有一个“C++ RVO”优化,网上查了查资料,自己学习了,在这里记录一下。前言      大家都知道“过早的优化是万恶之源”这句话,然而我相信其中的大多数人都不知道自己是不是在做过早的优化。我也无法准确的定义什么叫做“过早的优化”,但我相信这“过早的优化”要么是得不偿失的,要么干脆是有害无利的。今天我就想举个我认为是“过早的优化”的...

2019-02-18 15:16:17 1567

转载 supervisord安装使用

官方网站: http://supervisord.org/      supervisor管理进程,是通过fork/exec的方式将这些被管理的进程当作supervisor的子进程来启动,所以我们只需要将要管理进程的可执行文件的路径添加到supervisor的配置文件中就好了。此时被管理进程被视为supervisor的子进程,若该子进程异常中断,则父进程可以准确的获取子进程异常中断的信息,通过...

2019-02-13 13:38:37 540

转载 linux xz压缩解压

1. 解压 xz 格式文件 方法一:需要用到两步命令:  首先利用 xz-utils 的 xz 命令将 linux-3.12.tar.xz 解压为 linux-3.12.tar,  其次用 tar 命令将 linux-3.12.tar 完全解压。xz -d linux-3.12.tar.xztar -xf linux-3.12.tar方法二(推荐)tar -Jx...

2019-02-12 09:27:48 9670

转载 c++11:tuple元组详解

c++11中的tuple(元组)。tuple看似简单,其实它是简约而不简单,可以说它是c++11中一个既简单又复杂的东东,关于它简单的一面是它很容易使用,复杂的一面是它内部隐藏了太多细节,要揭开它神秘的面纱时又比较困难。  tuple是一个固定大小的不同类型值的集合,是泛化的std::pair。和c#中的tuple类似,但是比c#中的tuple强大得多。我们也可以把他当做一个通用...

2019-02-02 15:53:29 6620

原创 C++11:右值引用、move, 以及使用emplace_back代替push_back

最近在写一段代码的时候,突然很好奇C++11中对push_back有没有什么改进以增加效率,上网搜了一些资料,发现果然新增了emplace_back方法,比push_back的效率要高很多。1、右值引用C++11引入了右值引用,用&amp;&amp;表示右值引用,如int &amp;&amp;a = add(1,2)。先了解下什么是左值和右值,简单的说,下面的表达式:...

2019-02-02 10:33:57 8931 7

转载 【Boost】boost库asio详解1——strand与io_service区别

namespace{ // strand提供串行执行, 能够保证线程安全, 同时被post或dispatch的方法, 不会被并发的执行. // io_service不能保证线程安全 boost::asio::io_service m_service; boost::asio::strand m_strand(m_service); boost::...

2019-02-01 14:57:12 2370 1

转载 mem_fun_t/ptr_fun等用法

 1、mem_fun_t1-用于遍历调用多态的虚函数,容器元素是指针  2-const_mem_fun:用于const的成员函数,用法类似std::vector&lt;B*&gt; V;V.push_back(new D1);V.push_back(new D2);V.push_back(new D2);V.push_back(new D1); std::for...

2019-02-01 14:44:20 728

转载 for_each示例

 void myfun1(int&amp; i){    std::cout &lt;&lt; i &lt;&lt; " ";} void myfun2(int i, const char* prefix){    std::cout &lt;&lt; prefix &lt;&lt; i &lt;&lt; std::endl;} struct mystruct1 {  ..

2019-02-01 13:57:27 276

转载 main函数执行前、后再执行的代码

一、main结束 不代表整个进程结束 (1)全局对象的构造函数会在main 函数之前执行,          全局对象的析构函数会在main函数之后执行;          用atexit注册的函数也会在main之后执行。  (2)一些全局变量、对象和静态变量、对象的空间分配和赋初值就是在执行main函数之前,而main函数执行完后,还要去执行一些诸如释放空间、释放资源使用权等操作  ...

2019-02-01 13:49:06 1336

转载 C++修改入口函数名Main的方法

方法1: 通用// 通过下面这句话将入口函数改成fn.#pragma comment(linker, "/entry:fn")#include &lt;iostream&gt; int fn(void){    std::cout &lt;&lt; "Hello world!" &lt;&lt; std::endl;    return 0;}方法2:VS:项目"属...

2019-02-01 13:40:21 3621 1

转载 C++11:带来的随机数生成器

C++11带来诸多特性,random就是其一.1. random_device  标准库提供了一个非确定性随机数生成设备.在Linux的实现中,是读取/dev/urandom设备;Windows的实现居然是用rand_s,在这里强烈谴责一下.  random_device提供()操作符,用来返回一个min()到max()之间的一个数字.如果是Linux(Unix Like或者Unix)...

2019-02-01 09:51:23 1504

Linux服务器架设指南——第1章

主要讲解网络硬件知识,是《Linux服务器架设指南》书的第一章

2010-05-24

c+c++程序员面试宝典.CHM

该书详细介绍了程序员面试时所需注意的事项,供大家参考学习。

2010-04-25

Linux 下sendmail邮件系统的详细配置

该文件说明了Linux下sendmail邮件系统的详细配置,为Linux初学者来说,提供了简洁的sendmail配置教程

2010-04-25

Linux 用 C实现的邮件发送程序

改程序用c语言在linux环境下编写,成功发送邮件。

2010-04-25

linux 定时发送邮件 应用sendmail技术

由于自己记性太差,很难记住朋友的生日,所以突发奇想,写了个简单的shell程序,主要目的就是为了能在固定的节日(如:圣诞、元旦等,可以指定)和朋友生日的时候自动给朋友发送祝福信件,同时密送给自己,程序虽然简单,达到了自己需要的效果。 特地共享出来和大家一起分享,修改mail_check.sh程序的变量,最好每天8点执行,显得比较真实,其它的配置文件在conf目录下。

2010-04-25

C 语言编写一个网络蜘蛛(网络爬虫)

该文档详细介绍了网络蜘蛛(网络爬虫),并附带c语言开发的爬虫代码,对爬虫初学者很有用。

2010-04-25

中文分词算法介绍、分类详解

该文档详细介绍了中文分词的原理及相应的技术。文档讲解了最大匹配法(Forward Maximum Matching method, FMM法)、正向最大匹配法(由左到右的方向)、逆向最大匹配法(由右到左的方向)、最少切分(使每一句中切出的词数最小)。

2010-04-25

中文编码基础知识介绍

该书详细介绍了GB2312、GBK、BIG5、GB18030、UTF_8字符集等编码,为编码初学者提供了详细信息。

2010-04-25

中文编码规范详细介绍

该文档详细介绍了GB2312、Unicode、UTF-8、UTF-16等编码,对初步想编码的程序呀很有帮助。

2010-04-25

spider网络爬虫源代码

这是一个spider网络爬虫源代码,用c++完成的,主要是为搜索引擎研究者提供很好的材料,为初学者提供代码。大家可以互相学习学习。

2009-01-15

Cluence搜索引擎源码

这个是c版的luence。了解搜索引擎的人都知道luence是一个很好开源搜索引擎,他开始主要是java版的,但现在为大家提供一个c版的luence ,希望对大家有用,大家互相学习学习。

2009-01-15

空空如也

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

TA关注的人

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