- 博客(45)
- 收藏
- 关注
转载 C语言宏定义##连接符和#符的使用
源:http://blog.youkuaiyun.com/dotphoenix/article/details/4345174C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引
2014-12-05 15:43:41
625
转载 原码, 反码, 补码 详解
源:http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.
2014-11-26 11:27:25
559
转载 gdb不停收到sigtrap信号
源: main() { char c='x'; read(0,&c,1); printf("go\n"); printf("come\n"); }编译生成a.out后,运行gdb a.out(gdb) b mainBreakpoint 1 at 0x80483
2014-11-25 16:25:22
1694
转载 c中exit和return的区别
源: exit(0) 表示程序正常, exit(1)/exit(-1)表示程序异常退出exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用。在多个进程时.如果有时要检测上进程是否正常退出的.就要用到上个进程的返回值..exit(1)
2014-11-04 17:16:02
553
转载 SO_KEEPALIVE
源:SO_KEEPALIVE在《UNIX网络编程第1卷》中也有详细的阐述:SO_KEEPALIVE 保持连接检测对方主机是否崩溃,避免(服务器)永远阻塞于TCP连接的输入。设置该选项后,如果2小时内在此套接口的任一方向都没有数据交换,TCP就自 动给对方 发一个保持存活探测分节(keepalive probe)。这是一个对方必须响应的TCP分节.它会导致以下三种情况:对
2014-10-09 15:28:29
660
转载 编程工具系列之 ------使用GDB的堆栈跟踪功能
编程工具系列之一------使用GDB的堆栈跟踪功能 在调试程序的过程中,查看程序的函数调用堆栈是一项最基本的任务,几乎所有的图形调试器都支持这项特性。 GDB调试器当然也支持这一特性,但是功能更加灵活和丰富。 GDB将当前函数的栈帧编号为0,为外层函数的栈帧依次加1,这些编号将成为一些GDB命令的参数,以指明将要操作的是哪一个函数的栈帧。
2014-08-27 19:05:01
524
转载 FLV文件格式解析
源: FLV(Flash Video)是现在非常流行的流媒体格式,由于其视频文件体积轻巧、封装播放简单等特点,使其很适合在网络上进行应用,目前主流的视频网站无一例外地使用了FLV格式。另外由于当前浏览器与Flash Player紧密的结合,使得网页播放FLV视频轻而易举,也是FLV流行的原因之一。 FLV视频格式是Adobe公司设计开发的,目前已经免费开放,现在的版本是v10。
2014-07-24 18:20:05
581
转载 ffmpeg中获取字节流格式的两种方式
本文验证下面的帖子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
2014-07-24 18:14:11
1977
转载 H264 视频文件 帧格式 传输封装等 杂碎
Standards Track [Page 2] RFC 3984 RTP Payload Format for H.264 Video February 2005 1.按照RFC3984协议实现H264视频流媒体nalu单元 包起始 0x 00 00 00 01H.264 NAL格式及分析器http://hi.baidu.com/zsw%5Fdavy/b ... c4
2014-07-24 18:11:29
916
转载 nginx源码分析之配置图解
源: nginx配置结构清晰,层次分明,这得益于整个架构的模块化设计,文本将揭示配置文件如何被处理和应用。 整个配置文件解析后的结果如图这样存储。一、解析的核心机制nginx源码里,ngx_conf_t是解析的关键结构体ngx_conf_handler函数里:查看源码打印?01/* se
2014-07-18 10:04:53
665
转载 Nginx的http配置结构体的组织结构
源: 1、http类module的配置结构体的组织结构在Nginx中,http类的module允许创建3种配置结构体:main_conf、srv_conf、loc_conf,分别通过create_main_conf、create_srv_conf、create_loc_conf钩子创建。每种配置结构体的指针存储在对应的指针数组中,以ctx_index为数组下标
2014-07-17 17:32:32
765
转载 MP4文件格式的解析,以及MP4文件的分割算法
MP4文件格式的解析,以及MP4文件的分割算法 mp4应该算是一种比较复杂的媒体格式了,起源于QuickTime。以前研究的时候就花了一番的功夫,尤其是如何把它完美的融入到视频点播应用中,更是费尽了心思,主要问题是处理mp4文件庞大的“媒体头”。当然,流媒体点播也可以采用flv格式来做,flv也可以封装H.264视频数据的,不过Adobe却不推荐这么做,人家说毕竟mp4才是H.264最佳的存
2014-07-15 11:01:04
579
转载 Linux命令之write调用的原子性
linuxman手册页中关于write调用的说明很不详细,并未说明写操作是否是原子的,所以我们有必要查找SingleUNIXSpecification(SUS)对write调用的说明,在SUS中对此调用的说明还是比较详细的。在继续讨论之前我们需要清楚内核在写文件之前会对该文件加锁,不管是否成功完成写操作,在返回之前都会解锁。AD:WOT2014:用户标签系统与用户数据化运营培训专场
2014-07-01 11:10:50
979
转载 线程存储
pthread_key_t和pthread_key_create()的使用2011-07-20 10:18:23 转自网络:广告童装批发下面说一下线程中特有的线程存储, Thread Specific Data 。线程存储有什么用了?他是什么意思了?大家都知道,在多线程程序中,所有线程共享程序中的变量。现在有一全局变量,所有线程都可以使用它,改变它的值。而如果每
2014-06-18 15:59:18
596
转载 为 Vim 编辑器开发定制插件
学习如何使用 Vim 的定制脚本语言以及 Perl 和 Python 等语言扩展流行的 Vim 编辑器,从而满足自己的系统管理需求。1评论: Arpan Sen, 独立作家关闭 [x]Arpan Sen 是致力于电子设计自动化行业的软件开发首席工程师。他使用各种 UNIX 版本(包括 Solaris、SunOS、HP-UX 和 IRIX)
2014-06-11 19:10:20
892
转载 通配符与正则表达式
通配符是系统level的 而正则表达式需要相关工具的支持: egrep, awk, vi, perl。在文本过滤工具里,都是用正则表达式,比如像awk,sed等,是针对文件的内容的。通配符多用在文件名上,比如查找find,ls,cp,等等。 通配符 在您日常的 Linux 使用中,有很多时候您可能需要一次对多个文件系统对象执行单一操作(比如 rm)。
2014-06-11 19:00:02
594
转载 RTMP协议介绍与勘误
源:http://blog.sina.com.cn/s/blog_8cfe05150100ub84.htmlRTMP是Adobe公司出的协议, 出处为http://www.adobe.com/devnet/rtmp/rtmp_specification_1.0.pdf 这协议分为两层: 下层是传输层, 即所谓的Chunk协议,定义了复用和解复用的方法。上层上应用层,即Message
2014-06-10 10:02:33
610
转载 从输入 URL 到页面加载完成的过程中都发生了什么事情?
原:http://fex.baidu.com/blog/2014/05/what-happen/?qq-pf-to=pcqq.group
2014-05-29 11:39:56
947
转载 MPEG2 PCR的物理意义
1.PCR 仅仅在实时播出流中才有意义(即前端编码器实时编码或视频服务器实时播出,后端机顶盒实时接收的情况),对DVD机这类从文件中取TS流的设备PCR毫无意义。 2.前端编码器工作原理:编码器中有一个27M的时钟,编码过程中不断读取硬件时钟放入TS中PCR字段,和PES的PTS,DTS字段。 3.后端机顶盒工作原理:机顶盒中也有一个27M的时钟,它根据PES中的PTS,D
2014-05-27 17:42:14
1303
转载 gdb中看内存(x命令)
你可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下所示:x/ n、f、u是可选的参数。n 是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容。f 表示显示的格式,参见上面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。u 表示从当前地址往后请求的字节数,如果不指定的话,GDB默认是
2014-05-20 13:06:45
607
转载 代码中特殊的注释技术----TODO、FIXME和XXX的用处
代码中特殊的注释技术——TODO、FIXME和XXX的用处本博客网址:http://blog.youkuaiyun.com/reille/,转载本博客原创文章请注明出处。本文内容概要: 代码中特殊的注释技术——TODO、FIXME和XXX的用处。 前言:今天在阅读Qt Creator的源代码时,发现一些注释中有FIXME英文单词,用英文词典居然查不到其意义!实际上,在阅读一些
2014-05-14 10:56:27
634
转载 UML中的六大关系
UML中的六大关系 UML定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合。这些类间关系的理解和使用是掌握和应用UML的关键,而也就是这几种关系,往往会让初学者迷惑。这里给出这六种主要UML关系的说明和类图描述,一看之下,清晰明了;以下就分别介绍这几种关系: 继承 指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,
2014-05-14 10:53:14
544
转载 流媒体协议引见
RTP 参考文档 RFC3550/RFC3551 Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议。RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。RTP协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成
2014-04-30 12:24:50
479
转载 setsockopt函数使用
原: setsockopt函数使用int setsockopt (SOCKET s, int level, int optname, const char FAR * optval, int optlen );The Window
2014-04-29 12:07:34
667
转载 Linux下Kill函数用法
原:http://blog.sina.com.cn/s/blog_8184e03301013m6k.html Linux下Kill函数用法[ KILL ]功能描述:用于向任何进程组或进程发送信号。 1 #include sys/types.h>2 3 #include signal.h>4 5 int kill(pid_t pid,
2014-04-28 16:06:15
577
转载 守护进程
守护进程编辑在linux或者unix操作系统中在系统的引导的时候会开启很多服务,这些服务就叫做守护进程。为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统。 守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。
2014-04-28 11:03:13
515
转载 GCC 提供的原子操作
来源:GCC 提供的原子操作[日期:2011-06-17] 来源:Linux社区 作者:FrankTan [字体:大 中 小] gcc从4.1.2提供了__sync_*系列的built-in函数,用于提供加减和逻辑运算的原子操作。其声明如下: type __sync_fetch_and_add (type *ptr, type value
2014-04-25 15:58:14
422
转载 Canny边缘检测算法原理及其VC实现详解
原 http://blog.youkuaiyun.com/likezhaobin/article/details/68921762011-10-20 21:39 20134人阅读 评论(15)收藏 举报算法编程工作c扩展测试目录(?)[+] 图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲
2014-03-28 17:40:19
674
转载 pthread_getschedparam函数 调用崩溃
原:http://blog.youkuaiyun.com/sanbailiushiliuye/article/details/63271422011-04-16 09:51 1070人阅读 评论(0)收藏 举报threadlibrarydebuggingkilldescriptorsignal昨天在工作中遇到了一个问题,在linux2.4.*的系统中调用pthread_
2014-03-28 16:19:07
3585
转载 线程堆栈
来自百度百科1、堆栈名称释疑维基百科,(https://zh.wikipedia.org/wiki/%E5%A0%86%E6%A0%88)1堆栈(英文:stack),也可直接称栈。台湾作堆叠,在计算机科学中,是一种特殊的串行形式的数据结构,它的特殊之处在于只能允许在链结串行或阵列的一端(称为堆栈顶端指标,英文为top)进行加入资料(pus
2014-03-27 16:32:06
569
转载 堆栈
leak数据结构语言编译器windowsbyte 原:http://blog.youkuaiyun.com/nokianasty/article/details/7595116简单的可以理解为:heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。stack:是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。一、预备知识—程序的内存分
2014-03-27 16:29:09
375
转载 x264和FFMPEG 编译后遇到的一些问题:UINT64_C,
原:http://blog.youkuaiyun.com/bg2bkk/article/details/9048465吭吃坑吃的编译安装完ffmpeg 0.75,在centos5.9上后,遇到了一些问题,都是十分常见的问题,希望对大家有用。问题一/usr/local/include/libavutil/common.h: In function ‘int32_t av_clipl_int32_
2014-02-24 10:39:58
668
转载 linux 忘记root密码解决方法
Linux忘记 root密码的解决办法?这种情况虽然不是很常见,但是有些粗心的管理员长时间没有登录系统,还真会忘记密码。这时候,如果是远程管理,那就真没辙了。如果linux主机就在你身边,那还是有救的。只要你按以下步骤来操作:解决方法重启系统后出现GRUB界面在引导装载程序菜单上,用上下方向键选择你忘记密码的那个系统键入“e” 来进入编辑模式
2014-02-11 10:43:13
578
转载 const_cast 的作用
原:百度百科该运算符用来修改类型的const或volatile属性。除了const 或volatile修饰之外, type_id和expression的类型是一样的。一、常量指针被转化成非常量的指针,并且仍然指向原来的对象;二、常量引用被转换成非常量的引用,并且仍然指向原来的对象;volatile和const类似。举如下一例:1
2013-12-25 13:59:06
806
转载 volatile的作用
原:百度百科volatile的作用: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值.简单地说就是防止编译器对代码进行优化.比如如下程序:1234XBYTE[2]=0x55;XBYTE[2]=0x56;XBYTE[2]=0x57;XBYTE[2]=0x58;
2013-12-25 13:56:04
477
转载 explicit关键字的作用
原:百度百科C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色。 1 是个构造器 2 是个默认且隐含的类型转换操作符。所以, 有时候在我们写下如 AAA = XXX, 这
2013-12-25 10:18:44
461
转载 char 与 unsigned char的本质区别
原:http://www.cnblogs.com/qytan36/archive/2010/09/27/1836569.html在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别 首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,
2013-12-24 14:48:06
471
原创 线程函数参数注意事项
创建线程时,对线程过程函数的参数赋值,一定要注意使用动态分配内存的变量或结构,而不要用局部变量。因为线程执行时会用到参数,而这时创建线程的函数可能已经退出了。就会导致读内存错误。
2013-11-25 10:41:35
649
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人