<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[写写画画]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dean_river</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dean_river]]></copyright><item><title><![CDATA[C语言宏定义##连接符和#符的使用]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/41748553</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/41748553</guid><author>dean_river</author><pubDate>Fri, 05 Dec 2014 15:43:41 +0800</pubDate><description><![CDATA[源：http://blog.youkuaiyun.com/dotphoenix/article/details/4345174
C语言中如何使用宏C（和C++）中的宏（Macro）属于编译器预处理的范畴，属于编译期概念（而非运行期概念）。下面对常遇到的宏的使用问题做了简单总结。
关于#和##
在C语言的宏中，#的功能是将其后面的宏参数进行字符串化操作（Stringfication），简单说就是在对它所引]]></description><category></category></item><item><title><![CDATA[原码, 反码, 补码 详解]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/41513459</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/41513459</guid><author>dean_river</author><pubDate>Wed, 26 Nov 2014 11:27:25 +0800</pubDate><description><![CDATA[源：http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html

一. 机器数和真值

在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.

1、机器数

一个数在计算机中的二进制表示形式,  叫做这个数的机器数。机器数是带符号的，在计算机用一个数的最高位存放符号, 正数为0, 负数为1.]]></description><category></category></item><item><title><![CDATA[gdb不停收到sigtrap信号]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/41483839</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/41483839</guid><author>dean_river</author><pubDate>Tue, 25 Nov 2014 16:25:22 +0800</pubDate><description><![CDATA[源： 
main()

   {

       char c='x';

       read(0,&c,1);

       printf("go\n");


       printf("come\n");

   }


编译生成a.out后,运行gdb a.out

(gdb) b main

Breakpoint 1 at 0x80483]]></description><category></category></item><item><title><![CDATA[c中exit和return的区别]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/40788037</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/40788037</guid><author>dean_river</author><pubDate>Tue, 04 Nov 2014 17:16:02 +0800</pubDate><description><![CDATA[源： 
exit(0) 表示程序正常, 
exit(1)/exit(-1)表示程序异常退出
exit() 结束当前进程/当前程序/，在整个程序中，只要调用 exit ，就结束
return() 是当前函数返回，当然如果是在主函数main, 自然也就结束当前进程了，如果不是，那就是退回上一层调用。在多个进程时.如果有时要检测上进程是否正常退出的.就要用到上个进程的返回值..
exit(1)]]></description><category></category></item><item><title><![CDATA[SO_KEEPALIVE]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/39931889</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/39931889</guid><author>dean_river</author><pubDate>Thu, 09 Oct 2014 15:28:29 +0800</pubDate><description><![CDATA[源：


SO_KEEPALIVE

在《UNIX网络编程第1卷》中也有详细的阐述：

SO_KEEPALIVE 保持连接检测对方主机是否崩溃，避免（服务器）永远阻塞于TCP连接的输入。设置该选项后，如果2小时内在此套接口的任一方向都没有数据交换，TCP就自 动给对方 发一个保持存活探测分节(keepalive probe)。这是一个对方必须响应的TCP分节.它会导致以下三种情况：对]]></description><category></category></item><item><title><![CDATA[编程工具系列之 ------使用GDB的堆栈跟踪功能]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/38874943</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/38874943</guid><author>dean_river</author><pubDate>Wed, 27 Aug 2014 19:05:01 +0800</pubDate><description><![CDATA[编程工具系列之一------使用GDB的堆栈跟踪功能


      在调试程序的过程中，查看程序的函数调用堆栈是一项最基本的任务，几乎所有的图形调试器都支持这项特性。
      GDB调试器当然也支持这一特性，但是功能更加灵活和丰富。
      GDB将当前函数的栈帧编号为0，为外层函数的栈帧依次加1，这些编号将成为一些GDB命令的参数，以指明将要操作的是哪一个函数的栈帧。
  ]]></description><category></category></item><item><title><![CDATA[FLV文件格式解析]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/38090031</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/38090031</guid><author>dean_river</author><pubDate>Thu, 24 Jul 2014 18:20:05 +0800</pubDate><description><![CDATA[源： 
 
FLV（Flash Video）是现在非常流行的流媒体格式，由于其视频文件体积轻巧、封装播放简单等特点，使其很适合在网络上进行应用，目前主流的视频网站无一例外地使用了FLV格式。另外由于当前浏览器与Flash Player紧密的结合，使得网页播放FLV视频轻而易举，也是FLV流行的原因之一。
    FLV视频格式是Adobe公司设计开发的，目前已经免费开放，现在的版本是v10。]]></description><category></category></item><item><title><![CDATA[ffmpeg中获取字节流格式的两种方式]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/38089965</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/38089965</guid><author>dean_river</author><pubDate>Thu, 24 Jul 2014 18:14:11 +0800</pubDate><description><![CDATA[本文验证下面的帖子
http://www.mentby.com/Group/ffmpeg-user/h264-byte-patterns-format.html

内容为
The h.264 standard is complicated, so the simple algorithm you imply 
with this question will almost never wo]]></description><category></category></item><item><title><![CDATA[H264 视频文件 帧格式 传输封装等 杂碎]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/38089921</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/38089921</guid><author>dean_river</author><pubDate>Thu, 24 Jul 2014 18:11:29 +0800</pubDate><description><![CDATA[Standards Track [Page 2] RFC 3984 RTP Payload Format for H.264 Video February 2005 1.

按照RFC3984协议实现H264视频流媒体

nalu单元 包起始 0x 00 00 00 01

H．264 NAL格式及分析器
http://hi.baidu.com/zsw%5Fdavy/b ... c4]]></description><category></category></item><item><title><![CDATA[nginx源码分析之配置图解]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/37922763</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/37922763</guid><author>dean_river</author><pubDate>Fri, 18 Jul 2014 10:04:53 +0800</pubDate><description><![CDATA[源：
 
 

 
nginx配置结构清晰，层次分明，这得益于整个架构的模块化设计，文本将揭示配置文件如何被处理和应用。



 
整个配置文件解析后的结果如图这样存储。

一、解析的核心机制
nginx源码里，ngx_conf_t是解析的关键结构体
ngx_conf_handler函数里：


查看源码

打印?






01
/* se]]></description><category></category></item><item><title><![CDATA[Nginx的http配置结构体的组织结构]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/37911301</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/37911301</guid><author>dean_river</author><pubDate>Thu, 17 Jul 2014 17:32:32 +0800</pubDate><description><![CDATA[源：


        

1、http类module的配置结构体的组织结构
在Nginx中，http类的module允许创建3种配置结构体：main_conf、srv_conf、loc_conf，分别通过create_main_conf、create_srv_conf、create_loc_conf钩子创建。每种配置结构体的指针存储在对应的指针数组中，以ctx_index为数组下标]]></description><category></category></item><item><title><![CDATA[MP4文件格式的解析，以及MP4文件的分割算法]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/37811447</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/37811447</guid><author>dean_river</author><pubDate>Tue, 15 Jul 2014 11:01:04 +0800</pubDate><description><![CDATA[MP4文件格式的解析，以及MP4文件的分割算法
　　mp4应该算是一种比较复杂的媒体格式了，起源于QuickTime。以前研究的时候就花了一番的功夫，尤其是如何把它完美的融入到视频点播应用中，更是费尽了心思，主要问题是处理mp4文件庞大的“媒体头”。当然，流媒体点播也可以采用flv格式来做，flv也可以封装H.264视频数据的，不过Adobe却不推荐这么做，人家说毕竟mp4才是H.264最佳的存]]></description><category></category></item><item><title><![CDATA[Linux命令之write调用的原子性]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/36179971</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/36179971</guid><author>dean_river</author><pubDate>Tue, 01 Jul 2014 11:10:50 +0800</pubDate><description><![CDATA[linuxman手册页中关于write调用的说明很不详细，并未说明写操作是否是原子的，所以我们有必要查找SingleUNIXSpecification(SUS)对write调用的说明，在SUS中对此调用的说明还是比较详细的。在继续讨论之前我们需要清楚内核在写文件之前会对该文件加锁，不管是否成功完成写操作，在返回之前都会解锁。
AD：WOT2014：用户标签系统与用户数据化运营培训专场


]]></description><category></category></item><item><title><![CDATA[线程存储]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/32133407</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/32133407</guid><author>dean_river</author><pubDate>Wed, 18 Jun 2014 15:59:18 +0800</pubDate><description><![CDATA[pthread_key_t和pthread_key_create()的使用
2011-07-20 10:18:23     



转自网络：广告童装批发

下面说一下线程中特有的线程存储， Thread Specific Data 。线程存储有什么用了？他是什么意思了？大家都知道，在多线程程序中，所有线程共享程序中的变量。现在有一全局变量，所有线程都可以使用它，改变它的值。而如果每]]></description><category></category></item><item><title><![CDATA[为 Vim 编辑器开发定制插件]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/30089703</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/30089703</guid><author>dean_river</author><pubDate>Wed, 11 Jun 2014 19:10:20 +0800</pubDate><description><![CDATA[学习如何使用 Vim 的定制脚本语言以及 Perl 和 Python 等语言扩展流行的 Vim 编辑器，从而满足自己的系统管理需求。
1

评论： 

Arpan Sen, 独立作家


关闭 [x]






Arpan Sen 是致力于电子设计自动化行业的软件开发首席工程师。他使用各种 UNIX 版本（包括 Solaris、SunOS、HP-UX 和 IRIX）]]></description><category></category></item><item><title><![CDATA[通配符与正则表达式]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/30088991</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/30088991</guid><author>dean_river</author><pubDate>Wed, 11 Jun 2014 19:00:02 +0800</pubDate><description><![CDATA[通配符是系统level的 而正则表达式需要相关工具的支持: egrep, awk, vi, perl。

在文本过滤工具里，都是用正则表达式，比如像awk，sed等，是针对文件的内容的。
通配符多用在文件名上，比如查找find，ls，cp，等等。   
 
 
通配符  
     在您日常的 Linux 使用中，有很多时候您可能需要一次对多个文件系统对象执行单一操作（比如 rm）。]]></description><category></category></item><item><title><![CDATA[RTMP协议介绍与勘误]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/29806063</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/29806063</guid><author>dean_river</author><pubDate>Tue, 10 Jun 2014 10:02:33 +0800</pubDate><description><![CDATA[源：http://blog.sina.com.cn/s/blog_8cfe05150100ub84.html
RTMP是Adobe公司出的协议, 出处为http://www.adobe.com/devnet/rtmp/
rtmp_specification_1.0.pdf
 
这协议分为两层: 下层是传输层, 即所谓的Chunk协议，定义了复用和解复用的方法。上层上应用层，即Message]]></description><category></category></item><item><title><![CDATA[从输入 URL 到页面加载完成的过程中都发生了什么事情？]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/27510203</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/27510203</guid><author>dean_river</author><pubDate>Thu, 29 May 2014 11:39:56 +0800</pubDate><description><![CDATA[原：http://fex.baidu.com/blog/2014/05/what-happen/?qq-pf-to=pcqq.group]]></description><category></category></item><item><title><![CDATA[MPEG2 PCR的物理意义]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/27221373</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/27221373</guid><author>dean_river</author><pubDate>Tue, 27 May 2014 17:42:14 +0800</pubDate><description><![CDATA[1.PCR 仅仅在实时播出流中才有意义（即前端编码器实时编码或视频服务器实时播出，后端机顶盒实时接收的情况），对DVD机这类从文件中取TS流的设备PCR毫无意义。
     2.前端编码器工作原理：编码器中有一个27M的时钟，编码过程中不断读取硬件时钟放入TS中PCR字段，和PES的PTS，DTS字段。
     3.后端机顶盒工作原理：机顶盒中也有一个27M的时钟，它根据PES中的PTS，D]]></description><category></category></item><item><title><![CDATA[gdb中看内存(x命令)]]></title><link>https://blog.youkuaiyun.com/dean_river/article/details/26359011</link><guid>https://blog.youkuaiyun.com/dean_river/article/details/26359011</guid><author>dean_river</author><pubDate>Tue, 20 May 2014 13:06:45 +0800</pubDate><description><![CDATA[你可以使用examine命令（简写是x）来查看内存地址中的值。x命令的语法如下所示：

x/ 

n、f、u是可选的参数。

n 是一个正整数，表示显示内存的长度，也就是说从当前地址向后显示几个地址的内容。
f 表示显示的格式，参见上面。如果地址所指的是字符串，那么格式可以是s，如果地十是指令地址，那么格式可以是i。
u 表示从当前地址往后请求的字节数，如果不指定的话，GDB默认是]]></description><category></category></item></channel></rss>