<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bacanpi5506的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bacanpi5506</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bacanpi5506]]></copyright><item><title><![CDATA[把sublime3打造成c++开发环境]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786126</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786126</guid><author>bacanpi5506</author><pubDate>Tue, 31 May 2016 17:08:00 +0800</pubDate><description><![CDATA[安装sublime 3

sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text-installer

package control安装
ctrl + `(1旁边的波浪线)
import urllib.request,os; ...]]></description><category></category></item><item><title><![CDATA[c指针参数常见错误]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786120</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786120</guid><author>bacanpi5506</author><pubDate>Tue, 03 May 2016 10:44:00 +0800</pubDate><description><![CDATA[参数的地址是可以修改的，修改后的地址是不可能传回给调用处的指针变量。也就是说，可以修改参数地址所指的单元的值，这是可以传回到调用处的变量里面的。

#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;

int subFunc(int arr[3]);

//交换两整数
void chan...]]></description><category></category></item><item><title><![CDATA[Unix高级编程之文件权限]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786123</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786123</guid><author>bacanpi5506</author><pubDate>Sun, 17 Apr 2016 09:35:00 +0800</pubDate><description><![CDATA[1.访问权限表



st_mode
意义




S_IRUSR
用户-读


S_IWUSR
用户-写


S_IXUSR
用户-执行


S_IRGRP
组-读


S_IWGRP
组-写


S_IXGRP
组-执行


S_IROTH
其他-读


S_IWOTH
其他-写


S_IXOTH
其他-执行



注意点

我们用名字打开任一类型的文件时，对该名字中包含的每一个目...]]></description><category></category></item><item><title><![CDATA[gdb手册]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786118</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786118</guid><author>bacanpi5506</author><pubDate>Wed, 06 Apr 2016 10:12:00 +0800</pubDate><description><![CDATA[摘自：https://github.com/hellogcc/100-gdb-tips/blob/master/src/quit-gdb-silently.md.
我只是摘抄我平时没注意到的，或者我认为重要的


gdb退出时不显示提示信息
set confirm off
列出所有的函数
info functions 或者 info functions th[列出所有以th开始的函数]...]]></description><category></category></item><item><title><![CDATA[libev 使用]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786121</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786121</guid><author>bacanpi5506</author><pubDate>Tue, 29 Mar 2016 13:33:00 +0800</pubDate><description><![CDATA[观察器

IO
ev_io_init (ev_io *, callback, int fd, int events) ev_io_set (ev_io *, int fd, int events)

I/O watchers check whether a file descriptor is readable or writable in each iteration of the e...]]></description><category></category></item><item><title><![CDATA[Unix高级环境编程之fcntl函数]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786116</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786116</guid><author>bacanpi5506</author><pubDate>Mon, 28 Mar 2016 22:38:00 +0800</pubDate><description><![CDATA[#include &lt;fcntl.h&gt;
int fcntl(int fd, int cmd, ...)
fcntl功能

复制一个现有的描述符 (cmd = F_DUPFD)
##### 返回值:新文件描述符, __新描述符__和fd共享同一文件表项

dup(fd) &lt;===&gt; fcntl(fd, F_DUPFD, 0)
dup2(fd1, fd2) 
&lt;=...]]></description><category></category></item><item><title><![CDATA[设计基于锁的并发数据结构]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786119</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786119</guid><author>bacanpi5506</author><pubDate>Fri, 25 Mar 2016 23:24:00 +0800</pubDate><description><![CDATA[为并发设计数据结构的原则

为并发设计数据结构的时候,需要考虑两方面:保证存取的安全和允许真正的并发存取
设计基于锁的并发数据结构的关键是要确保存取数据时要锁住正确的互斥元,并且要确保将锁的时间最小化



转载于:https://www.cnblogs.com/457220157-FTD/p/5321549.html...]]></description><category></category></item><item><title><![CDATA[CPU占用分析]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786114</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786114</guid><author>bacanpi5506</author><pubDate>Thu, 24 Mar 2016 14:42:00 +0800</pubDate><description><![CDATA[用TOP命令很容易定位到时谁占用CPU最高

多线程的进程，我们要知道实际上占用cpu的最小单位是线程，所以肯定是众线程中的某一个或几个占用CPU过高导致的。top -H -p pid命令查看进程内各个线程占用的CPU百分比

如上图所示我们可以看出id为8863的线程cpu占用率最高。好，我们现在只要能找到他偷走的cpu就好了，虽然这小子嘴巴严，但是我们有一套完善的审问流程，不怕他不...]]></description><category></category></item><item><title><![CDATA[atomic用法]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786117</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786117</guid><author>bacanpi5506</author><pubDate>Tue, 22 Mar 2016 15:26:00 +0800</pubDate><description><![CDATA[memory order
源码变成可执行程序，一般由预编译，编译，汇编，链接。源码重排序一般分为编译期重排序和运行期重排序。
编译期重排序：编译器在不改变单线程程序的语义的前提下，可以重新安排语句的执行顺序。在不改变程序的语义的前提下，尽可能减少寄存器的读取，存储次数，充分复用寄存器的存储值。
CPU乱序执行




名称
语义       

...]]></description><category></category></item><item><title><![CDATA[RESTful架构搜集]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786112</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786112</guid><author>bacanpi5506</author><pubDate>Fri, 29 Jan 2016 15:28:00 +0800</pubDate><description><![CDATA[今天才知道RESTful这个词，感觉好落后呀。自从5月份后很少学习新知识，这是个不好的信号。
RESTful是Representational State Transfer的缩写。怎么理解Representational State Transfer呢？

资源（Resources):

　　所谓资源，就是一个网络实体，或者说就是网络上的一个具体信息。它可以是一段音乐，一个图片...]]></description><category></category></item><item><title><![CDATA[神奇的VIM]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786115</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786115</guid><author>bacanpi5506</author><pubDate>Mon, 09 Nov 2015 17:08:00 +0800</pubDate><description><![CDATA[1. di'、di"、di`、di( 、di{ 、dt

'abc' ==&gt; ''     di'
"abc"==&gt; ""      di"
`abc`==&gt;``       di`
(abc) ==&gt;()      di(
{abc}==&gt;{}       di{


2. 删除函数体

int foo()
{
    int ...]]></description><category></category></item><item><title><![CDATA[[转] boost:lexical_cast用法]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786110</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786110</guid><author>bacanpi5506</author><pubDate>Thu, 24 Sep 2015 17:39:00 +0800</pubDate><description><![CDATA[转载地址：http://www.habadog.com/2011/05/07/boost-lexical_cast-intro/
一、lexical_cast的作用lexical_cast使用统一的接口实现字符串与目标类型之间的转换。
二、lexical_cast与c/c++提供类似接口的比较标准c家族中包含此类函数，例如atoi与itoa等，它们的缺点是：（1）各个转换都是单向的，...]]></description><category></category></item><item><title><![CDATA[Leetcode]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786113</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786113</guid><author>bacanpi5506</author><pubDate>Wed, 23 Sep 2015 11:18:00 +0800</pubDate><description><![CDATA[最近一直在练习数据结构，发现www.leetcode.com非常不错。
我的代码都在https://github.com/georgehao/leetcode

转载于:https://www.cnblogs.com/457220157-FTD/p/4831647.html]]></description><category></category></item><item><title><![CDATA[C++ Sort类成员的传递]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786108</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786108</guid><author>bacanpi5506</author><pubDate>Thu, 02 Jul 2015 11:14:00 +0800</pubDate><description><![CDATA[C++模板中提供了sort方法，一般有两种方法：传递函数，传递一个对象。
第一种方法：函数

bool compare(const string &amp;strLeft, const string &amp;strRight)
{
　　return strLeft&lt;strRight;
}

int main()
{
　　vector&lt;string&gt;...]]></description><category></category></item><item><title><![CDATA[wireshark工具集]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786111</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786111</guid><author>bacanpi5506</author><pubDate>Fri, 22 May 2015 15:04:00 +0800</pubDate><description><![CDATA[tshark

查看pcap文件第一个包的时间，当文件名不包含时间信息时非常有帮助

　　　tshark-c1-Tfields-eframe.time-rtest.pcap
dumpcap
editcap
基本语法
editcap[options]...&lt;infile&gt;&lt;outfile&gt;[&lt;packet#&gt;...]]></description><category></category></item><item><title><![CDATA[字符串匹配算法]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786105</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786105</guid><author>bacanpi5506</author><pubDate>Thu, 30 Apr 2015 11:55:00 +0800</pubDate><description><![CDATA[1.前缀蛮力匹配算法(linux内核string.h)

char* strstr(const char *s, const char *wanted) 
{    
    const size_t len = strlen(wanted);     
    if (len == 0) return (char *)s;     
    while (*s != *wa...]]></description><category></category></item><item><title><![CDATA[视频开发(播放器开发,视频编辑)]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786049</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786049</guid><author>bacanpi5506</author><pubDate>Fri, 03 Apr 2015 14:37:00 +0800</pubDate><description><![CDATA[FFmpeg官网

1.[总结]FFMPEG视音频编解码零基础学习方法
2. 最简单的基于libVLC的例子：最简单的基于libVLC的视频播放器
3.ffmpeg裁剪合并视频
4.ffmpeg分割视频的方法
5.ffmpeg命令详解
6.ffmpeg 合并视频文件

---------------------------------...]]></description><category></category></item><item><title><![CDATA[TCP协议和UDP协议的区别]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786050</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786050</guid><author>bacanpi5506</author><pubDate>Sat, 21 Mar 2015 16:56:00 +0800</pubDate><description><![CDATA[转载：http://www.cnblogs.com/obama/p/3292335.html 作者：曾见绝美的阳光

第一部分：TCP/IP相关知识点

对TCP/IP的整体认
链路层知识点
IP层知识点
运输层知识点
应用层知识点
（这些知识点都可以参考：http://www.cnblogs.com/newwy/p/3234536.html）

第二部分：常见...]]></description><category></category></item><item><title><![CDATA[TCP/UDP详解]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786107</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786107</guid><author>bacanpi5506</author><pubDate>Sat, 21 Mar 2015 16:47:00 +0800</pubDate><description><![CDATA[转载：http://www.cnblogs.com/visily/archive/2013/03/15/2961190.html， 作者：望梅止渴
相关：HTTP协议详解
　　　深入理解HTTP协议
　　　TCP协议可靠性数据传输实现原理分析
　　 关于TCP的问题总结

1、传输层存在的必要性

由于网络层的分组传输是不可靠的，无法了解数据到达终...]]></description><category></category></item><item><title><![CDATA[c++对象模型以及内存布局的研究]]></title><link>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786103</link><guid>https://blog.youkuaiyun.com/bacanpi5506/article/details/101786103</guid><author>bacanpi5506</author><pubDate>Sun, 08 Mar 2015 21:09:00 +0800</pubDate><description><![CDATA[先引出问题，看一段代码：

#include &lt;iostream&gt;
using namespace std;

class A { };

class B { 
public:
　　B() {}
　　~B() {}
};

class C {
public:
　　C() {}
　　~C() {}
　　void foo() {}
}class...]]></description><category></category></item></channel></rss>