<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bg2bkk的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/bg2bkk</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; bg2bkk]]></copyright><item><title><![CDATA[各种排序算法的练习]]></title><link>https://blog.csdn.net/bg2bkk/article/details/38392103</link><guid>https://blog.csdn.net/bg2bkk/article/details/38392103</guid><author>bg2bkk</author><pubDate>Tue, 05 Aug 2014 22:52:11 +0800</pubDate><description><![CDATA[要准备面试笔试了，很多基础知识需要巩固下。排序和查找是必须要掌握的基础知识，参考链接如下：
http://www.cnblogs.com/kkun/archive/2011/11/23/2260312.html


代码如下：
#include
#include
#include
#include
#include
#include
#include
#include
#include
]]></description><category></category></item><item><title><![CDATA[如何手动实现malloc和free]]></title><link>https://blog.csdn.net/bg2bkk/article/details/38317209</link><guid>https://blog.csdn.net/bg2bkk/article/details/38317209</guid><author>bg2bkk</author><pubDate>Thu, 31 Jul 2014 15:00:40 +0800</pubDate><description><![CDATA[我一直非常关注Linux系统中的内存管理，想了解这一机制的工作过程，断断续续看了几年书，觉得有时候有收获，但是过一段时间就忘记了，让人觉得这个子系统很庞大，无从下手。最近看了很多书，对以malloc为切入点的linux内存管理有了一定的认识，在这里首先将需要的参考资料列出来，稍后手动实现的时候再补上。主要的参考资料有：
《深入理解Linux内核》：关于X86的Linux的段页式存储机制（第二章内]]></description><category></category></item><item><title><![CDATA[异步通知读取文件操作符的小例子]]></title><link>https://blog.csdn.net/bg2bkk/article/details/38237609</link><guid>https://blog.csdn.net/bg2bkk/article/details/38237609</guid><author>bg2bkk</author><pubDate>Mon, 28 Jul 2014 21:50:11 +0800</pubDate><description><![CDATA[转自：http://www.verydemo.com/demo_c441_i188495.html
#include 
#include 
#include 
#include 
#include 
#include 
#define MAX_LEN 100

void input_handler(int num)
{
	char data[MAX_LEN];
	int len;

	//读取并]]></description><category></category></item><item><title><![CDATA[服务器后台程序的内存使用问题]]></title><link>https://blog.csdn.net/bg2bkk/article/details/37747499</link><guid>https://blog.csdn.net/bg2bkk/article/details/37747499</guid><author>bg2bkk</author><pubDate>Mon, 14 Jul 2014 01:07:25 +0800</pubDate><description><![CDATA[目前我开发的一个服务器后台程序存在这么一个问题，由于我的程序要不断的收发消息，并做统计，统计用的是stl的多重map，在统计中会不断的往map里赛数据。但是每次统计后我都会调用clear()去释放内存，但是似乎并不奏效，仍然会有泄漏的现象。查资料，map的clear是将map内容清空，但是内存并不归还给系统，而是缓冲在内存池里以方便下次调用，有人提出，可以新建一个map，将两个map做swap操作]]></description><category></category></item><item><title><![CDATA[淘宝内核组的一个关于测试机器性能的帖子，很有意思]]></title><link>https://blog.csdn.net/bg2bkk/article/details/37747223</link><guid>https://blog.csdn.net/bg2bkk/article/details/37747223</guid><author>bg2bkk</author><pubDate>Mon, 14 Jul 2014 00:44:17 +0800</pubDate><description><![CDATA[以前知道http://kernel.taobao.org有人玩cuibeboard，然后我觉得他们看来是不搞硬件相关的，今天重新去扫这个页面，发现一个内核组测试机器性能的帖子，看完之后，不得不承认内核组的技术和积累是非常之高深的，所以拿来转载了。
这个帖子主要测试calxeda这个用于服务器的ARM CPU的性能，这点我非常感兴趣。我们团队在确定除自己做的基于ARM-DSP双核的机器人嵌入式主板]]></description><category></category></item><item><title><![CDATA[leetcode中，代码如何调试，创造本地运行环境]]></title><link>https://blog.csdn.net/bg2bkk/article/details/37572499</link><guid>https://blog.csdn.net/bg2bkk/article/details/37572499</guid><author>bg2bkk</author><pubDate>Tue, 08 Jul 2014 21:06:46 +0800</pubDate><description><![CDATA[初次接触leetcode，是我在一个招聘网站上看的，这个OJ真有那么厉害吗？
这几天在这个OJ上做了几道题，发现他的几个特点，1、题目不难（相对于ACM来说，我被ACM虐到至今无力），评判没那么苛刻，2、十分基础，从链表、树到动态规划等，都是非常基本非常经典的内容，相当的靠基本功，3、没有本地调试环境，直接在网站上提交，后台评判系统帮你完成程序输入、评判输出的功能，4、国内外业内认可，有很多人都]]></description><category></category></item><item><title><![CDATA[c/cpp中如何分割字符串，类似于split的功能]]></title><link>https://blog.csdn.net/bg2bkk/article/details/37569555</link><guid>https://blog.csdn.net/bg2bkk/article/details/37569555</guid><author>bg2bkk</author><pubDate>Tue, 08 Jul 2014 19:56:09 +0800</pubDate><description><![CDATA[C标准库中strtok的使用相关适宜，有关于strtok的非线程安全特质，以及strtok的替代函数strsep的用法]]></description><category></category></item><item><title><![CDATA[从系统调用fork，到进程的创建与终止]]></title><link>https://blog.csdn.net/bg2bkk/article/details/36464813</link><guid>https://blog.csdn.net/bg2bkk/article/details/36464813</guid><author>bg2bkk</author><pubDate>Wed, 02 Jul 2014 20:38:59 +0800</pubDate><description><![CDATA[最近好长时间没有更新博客，终极原因还是懒。]]></description><category></category></item><item><title><![CDATA[Linux CPP程序的三种实现定时任务的方法]]></title><link>https://blog.csdn.net/bg2bkk/article/details/21171337</link><guid>https://blog.csdn.net/bg2bkk/article/details/21171337</guid><author>bg2bkk</author><pubDate>Thu, 13 Mar 2014 14:58:09 +0800</pubDate><description><![CDATA[我的定时任务中的 iostream等会core down，很苦恼。
今天发现我的定时任务里cout竟然挂掉了，然后socket的write和read会被阻塞了，好奇怪的事情，redis也阻塞着。
然后师傅看了我的程序，认为我的定时任务是使用sigalarm定时，然后在信号中断里做业务，而我的业务太多了，一般他们不在中断中做太多业务，怀疑我的cout、fout或者redisCommand的上下文]]></description><category></category></item><item><title><![CDATA[近期重点要巩固的几个知识点，标准输入输出，文件打开关闭，socket与epoll相关]]></title><link>https://blog.csdn.net/bg2bkk/article/details/17959457</link><guid>https://blog.csdn.net/bg2bkk/article/details/17959457</guid><author>bg2bkk</author><pubDate>Tue, 07 Jan 2014 15:04:23 +0800</pubDate><description><![CDATA[有感于最近开发中遇到的基础性问题，在很多基础问题上犯错，感觉很不应该。基础不牢，地动山摇。
比如python通过subprocess调用一个cpp程序，竟然由于cpp程序的标准输出没有及时读出，导致程序卡住，这个问题我竟然没有意识到，需要弄明白这些东西]]></description><category></category></item><item><title><![CDATA[linux下判断路径是否存在(文件夹是否存在)]]></title><link>https://blog.csdn.net/bg2bkk/article/details/17265899</link><guid>https://blog.csdn.net/bg2bkk/article/details/17265899</guid><author>bg2bkk</author><pubDate>Wed, 11 Dec 2013 16:41:30 +0800</pubDate><description><![CDATA[#include
#include
#include
#include
#include
using namespace std;

int main(void)
{
 char buff[] = "/home/whc/test2/";
 //1 opendir() and closedir
 DIR *dir=NULL;
 dir = opendir(buff);
 if(NULL == dir]]></description><category></category></item><item><title><![CDATA[我觉得epoll和select最大的区别]]></title><link>https://blog.csdn.net/bg2bkk/article/details/12755403</link><guid>https://blog.csdn.net/bg2bkk/article/details/12755403</guid><author>bg2bkk</author><pubDate>Tue, 15 Oct 2013 20:54:40 +0800</pubDate><description><![CDATA[最近在用epoll，网速资料很多，大家都说epoll和select的区别比较大，而且select要不停遍历所有的fd，效率要低，而且fd有限制。
但是我认为二者最大的区别在于


先看代码
  while (1)
    {
nfds = epoll_wait(epfd, events, 20, 50000);
cout 
if(nfds == -1)
{
perror("e]]></description><category></category></item><item><title><![CDATA[链表的实现]]></title><link>https://blog.csdn.net/bg2bkk/article/details/11761197</link><guid>https://blog.csdn.net/bg2bkk/article/details/11761197</guid><author>bg2bkk</author><pubDate>Tue, 17 Sep 2013 10:08:09 +0800</pubDate><description><![CDATA[要面试了，我很心虚，因为自己总是注重工程上的东西，理论上的，数据结构和算法基本全扔。
联想到之前给人讲IP地址分类，脱口而出A类地址是从00000001到11111110分布的，真想抽自己。
然后想自己划划链表等简单的实现，却发现连 链表节点的结构体都不会写了，心虚啊。
转载代码，简单修改，使之可以在gcc下编译。gcc是不识别bool类型的，或者说ansi c 86标准是没有的，
在链接]]></description><category></category></item><item><title><![CDATA[GRE计划]]></title><link>https://blog.csdn.net/bg2bkk/article/details/11739237</link><guid>https://blog.csdn.net/bg2bkk/article/details/11739237</guid><author>bg2bkk</author><pubDate>Mon, 16 Sep 2013 16:31:28 +0800</pubDate><description><![CDATA[十七天复习计划：
前三天：看我上面的文章，看网上各种介绍，大致看下范文，和心理准备，我给你三天时间去了解G作文到底是怎么回事，和你接下来需要怎样备战。因为我花了十几天的时间才摸着门路，但有我上面的解释，给你三天已经奢侈。
接着七天：
1）一天背一篇范文，每一类话题背一篇（政治、历史、科学、艺术、人文……），按照你当时的高频顺序。
2）同时看我给你整理好的例子集。
接着七天：动手写。按照我]]></description><category></category></item><item><title><![CDATA[系统编程人员要学会使用管道编程]]></title><link>https://blog.csdn.net/bg2bkk/article/details/9623009</link><guid>https://blog.csdn.net/bg2bkk/article/details/9623009</guid><author>bg2bkk</author><pubDate>Mon, 29 Jul 2013 22:36:49 +0800</pubDate><description><![CDATA[在看洛杉矶大学的cs635课程课件时，有一个很简单的程序，模仿linux中的cat命令的，
链接为：http://cs.usfca.edu/~cruse/cs635/
该程序内容为：
//-------------------------------------------------------------------
//	mycat.c
//
//	This program shows]]></description><category></category></item><item><title><![CDATA[Makefile编译目录下多个文件]]></title><link>https://blog.csdn.net/bg2bkk/article/details/9199851</link><guid>https://blog.csdn.net/bg2bkk/article/details/9199851</guid><author>bg2bkk</author><pubDate>Fri, 28 Jun 2013 21:31:33 +0800</pubDate><description><![CDATA[今天终于学会了编写makefile，使之可以编译目录下所有c\cpp文件。
编译多个c文件一般有两个功能，一个是每个c文件都有main函数，就是说每个c文件的可执行文件是独立的，各自是各自的；第二个是多个c文件用来编译成一个可执行文件。


首先说第一个，内容如下，这个makefile是为了编译opencv代码的。
CFLAGS= -g -O3 `pkg-config opencv --]]></description><category></category></item><item><title><![CDATA[应用FFMPEG和SDL，播放视频文件]]></title><link>https://blog.csdn.net/bg2bkk/article/details/9057333</link><guid>https://blog.csdn.net/bg2bkk/article/details/9057333</guid><author>bg2bkk</author><pubDate>Sat, 08 Jun 2013 16:21:11 +0800</pubDate><description><![CDATA[使用FFMPEG库进行视频编解码，使用SDL播放视频，代码参考dranger大神的代码。
extern "C" {
#include "libavformat/avformat.h"  
#include "libswscale/swscale.h"  
}
#include   
#include   
#include   
#include   
#include   
  
#ifdef]]></description><category></category></item><item><title><![CDATA[应用dranger教程使用ffmpeg库从视频中读取图片的示例程序]]></title><link>https://blog.csdn.net/bg2bkk/article/details/9051947</link><guid>https://blog.csdn.net/bg2bkk/article/details/9051947</guid><author>bg2bkk</author><pubDate>Fri, 07 Jun 2013 23:04:26 +0800</pubDate><description><![CDATA[声明：版权归dranger大神，参考地址为：http://dranger.com/ffmpeg/tutorial01.html， 我只是将教程中不适合0.7版本ffmpeg的api的代码改为可在0.7版本ffmpeg下编译运行的程序，
编译环境为：centos 5.9， ffmpeg版本：0.7.15， x264版本：20110627

代码如下：

// tutorial01.c
//]]></description><category></category></item><item><title><![CDATA[OpenCV2.4.5在13-04的配置过程]]></title><link>https://blog.csdn.net/bg2bkk/article/details/9048649</link><guid>https://blog.csdn.net/bg2bkk/article/details/9048649</guid><author>bg2bkk</author><pubDate>Fri, 07 Jun 2013 16:07:50 +0800</pubDate><description><![CDATA[OpenCV 2.4.5编译安装方法


需要x264，ffmpeg和opencv2.4.5


x264下载地址：ftp://ftp.videolan.org/pub/x264/snapshots/
ffmpeg下载地址：http://www.ffmpeg.org/download.html
opencv下载地址：http://opencv.org/


我们使用最新的Ub]]></description><category></category></item><item><title><![CDATA[x264和FFMPEG 编译后遇到的一些问题：UINT64_C,]]></title><link>https://blog.csdn.net/bg2bkk/article/details/9048465</link><guid>https://blog.csdn.net/bg2bkk/article/details/9048465</guid><author>bg2bkk</author><pubDate>Fri, 07 Jun 2013 16:06:54 +0800</pubDate><description><![CDATA[吭吃坑吃的编译安装完ffmpeg 0.75，在centos5.9上后，遇到了一些问题，都是十分常见的问题，希望对大家有用。
问题一
/usr/local/include/libavutil/common.h: In function ‘int32_t av_clipl_int32_c(int64_t)’:
/usr/local/include/libavutil/common.h:170:]]></description><category></category></item></channel></rss>