E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Muduo源代码分析
RTMPDump(libRTMP)
源代码分析
之前分析了一下RTMPDump的Main()函数,其中获取RTMP流媒体数据很重要的前提是RTMP的URL的解析。如果没有这一步,那程序在强大也是白搭。现在来解析一下这个函数吧:RTMP_ParseURL()。下面首先回顾一下RTMP的URL的格式:rtmp://localhost/vod/mp4:sample1_1500kbps.f4v“://”之前的是使用的协议类型,可以是rtmp,rtmp
·
2014-02-05 22:00
RTMPdump
源代码分析
1: main()函数
RTMPdump
源代码分析
1:main()函数rtmpdump是一个用来处理RTMP流媒体的工具包,支持rtmp://,rtmpt://,rtmpe://,rtmpte://,andrtmps://等。
fireroll
·
2014-02-05 22:00
JBoss 系列五十九:jBPM Human Task
源代码分析
- II
概述jbpmhumantask
源代码分析
-I中为执行jbpmhumantask服务器端的代码,本文集中与执行humantask时客户端如何连接到服务器,进行与服务器交互,jBPM5执行humantask
无鸯
·
2014-02-04 09:00
jboss
jbpm
源代码
jms
代码分析
JBoss 系列五十八:jBPM Human Task
源代码分析
- I
jBPM5.2.x代码链接:https://github.com/droolsjbpm/jbpm/tree/5.2.x本处
源代码分析
基于: h
无鸯
·
2014-02-04 09:00
jboss
jbpm
异步
源代码
jms
JBoss 系列六十二:深入理解 jBPM Human Task - II(使用JMS做传输媒介执行Human Task)
本文也是基于之前代码分析系列:服务器端代码- jBPMHumanTask
源代码分析
-I客户端代码- jBPMHumanTask
源代码分析
-II本问主要包括:JMSTaskServer启动过程JMSTaskServer
无鸯
·
2014-02-04 09:00
jboss
jbpm
jbpm
task
BPM
human
wsgiref
源代码分析
wsgiref
源代码分析
wsgirefwsgiref 是Python标准库给出的 WSGI 的参考实现。
on_1y
·
2014-01-27 18:00
贪吃蛇
源代码分析
今天已经是农历12月16号了,用这一篇博文给今年的博客画上一个句号吧。首先,下载一个贪吃蛇的源代码,结构如下:(网上资源很多,我这里就不给出了)打开AndroidManifest.xml找到应用入口 可以看到入口Activity是Snake,好吧我们先进到Snake.java文件中看看onCreate方法在onCreate方法中首先是如下两句代码://设置为无标题的主题样式 r
lxq_xsyu
·
2014-01-26 13:00
android
贪吃蛇
源代码分析
Yarn
源代码分析
之旅---文章目录
如有别的参考,会另外说明)Yarn
源代码分析
之旅---总体架构---概述与总体架构Yarn
源代码分析
之旅---基础库---RPCYarn
源代码分析
之旅---基础库---服务库Yarn
源代码分析
之旅---
JJZHK
·
2014-01-25 08:49
Yarn
MapReduce源码分析总结
http://blog.csdn.net/HEYUTAO007/article/details/5725379参考: 1caibinbupt的
源代码分析
http://caibinbupt.javaeye.com2
sunmenggmail
·
2014-01-23 11:00
Android系统默认Home应用程序(Launcher)的启动过程
源代码分析
转载,原博地址:http://blog.csdn.net/Luoshengyang/article/details/6767736====================================================================================================================================
tangxuankai
·
2014-01-22 10:00
为什么
muduo
的 shutdown() 没有直接关闭 TCP 连接?
陈硕(giantchen_AT_gmail)Blog.csdn.net/Solstice
Muduo
全系列文章列表:http://blog.csdn.net/Solstice/category/779646
zz_yun
·
2014-01-20 21:31
de
为什么
muduo
的 shutdown() 没有直接关闭 TCP 连接?
陈硕(giantchen_AT_gmail)Blog.csdn.net/Solstice
Muduo
全系列文章列表:http://blog.csdn.net/Solstice/category/779646
zz_yun
·
2014-01-20 21:31
de
Muduo
网络编程示例之五: 测量两台机器的网络延迟
Muduo
网络编程示例之五:测量两台机器的网络延迟陈硕(giantchen_AT_gmail)Blog.csdn.net/Solstice t.sina.com.cn/giantchen这是《
Muduo
zz_yun
·
2014-01-20 21:10
ee
Muduo
网络编程示例之五: 测量两台机器的网络延迟
Muduo
网络编程示例之五:测量两台机器的网络延迟陈硕(giantchen_AT_gmail)Blog.csdn.net/Solsticet.sina.com.cn/giantchen这是《
Muduo
网络编程示例
zz_yun
·
2014-01-20 21:10
ee
Muduo
网络编程示例之八:用 Timing wheel 踢掉空闲连接
Muduo
网络编程示例之八:Timingwheel踢掉空闲连接陈硕(giantchen_AT_gmail)Blog.csdn.net/Solstice t.sina.com.cn/giantchen这是
zz_yun
·
2014-01-20 21:20
dsf
Muduo
网络编程示例之九:简单的消息广播服务
这是《
Muduo
网络编程示例》系列的第九篇文章,讲用
muduo
实现一个简单的pub/sub服务。
zz_yun
·
2014-01-20 20:01
dd
Muduo
网络编程示例之九:简单的消息广播服务
这是《
Muduo
网络编程示例》系列的第九篇文章,讲用
muduo
实现一个简单的pub/sub服务。
zz_yun
·
2014-01-20 20:01
dd
gcc
源代码分析
,函数定义和finish_function()函数
fndef: typed_declspecssetspecsdeclarator {if(!start_function($1,$3)) YYFAIL; reinit_parse_for_function();} xdecls {store_parm_decls();} compstmt_or_error {finish_
sitelist
·
2014-01-18 15:00
gcc
源代码
分析
gcc
源代码分析
,expand_expr_stmt()函数
终于调用的顺序清楚了,yyparse()函数调用了expand_expr_stmt()函数,expand_expr_stmt()函数调用了expand_expr()函数。下面的语法规则对应printf("Hello,World!\n");。stmt: compstmt {} |expr';' {emit_line_note(input_filename,lineno);
sitelist
·
2014-01-18 14:00
gcc
源代码
分析
gcc
源代码分析
,语法树
expand_exprcode=3d maxchain volatile arg0 permanentunsignedSIsize align32size_unit8sep_unit32symtab0 arg0 externalpublicpermanentusedQIfile/usr/inc
sitelist
·
2014-01-17 22:00
gcc
源代码
分析
gcc
源代码分析
,output_asm_insn()函数
insncall_insn140i=0regi=1memi=2const_intoutput_asm_insncall%1/*Outputofassemblercodefromatemplate,anditssubroutines. *//*OutputtextfromTEMPLATEtotheassembleroutputfile, obeying%-directionstosubstitut
sitelist
·
2014-01-17 13:00
源代码
gcc
分析
gcc
源代码分析
,insn_extract()函数和recog_operand[]数组的关系
关于PATTERN(insn),在emit_call_insn()函数里面的make_insn_raw()函数里就被赋值了。/*Thebodyofaninsn. */#definePATTERN(INSN) ((INSN)->fld[3].rtx)。(call_insn769(set(reg:SI0) (call(mem:QI(symbol_ref/v:SI("printf")))
sitelist
·
2014-01-17 12:00
gcc
源代码
分析
libev
源代码分析
--总体框架
先上一个例子,看看libev是怎么使用的吧。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 //asingleheaderfileisr
yusiguyuan
·
2014-01-14 21:00
libev
libev
源代码分析
--事件模型 ae
Redis自己的事件模型ae1.Redis的事件模型库大家到网上Google“Redislibevent”就可以搜到Redis为什么没有选择libevent以及libev为其事件模型库,而是自己写了一个事件模型。从代码中可以看到它主要支持了epoll、select、kqueue、以及基于Solaris的eventports。主要提供了对两种类型的事件驱动:IO事件(文件事件),包括有IO的读事件和
yusiguyuan
·
2014-01-14 21:00
libev
libev
源代码分析
--设计思想
Libev设计思路理清了Libev的代码结构和主要的数据结构,就可以跟着示例中接口进入到Libev中,跟着代码了解其设计的思路。这里我们管structev_loop称作为事件循环驱动器而将各种watcher称为事件监控器。1.分析例子中的IO事件这里在前面的例子中我们先把定时器和信号事件的使用注释掉,只看IO事件监控器,从而了解Libev最基本的逻辑。可以结合Gdb设断点一步一步的跟看看代码的逻辑
yusiguyuan
·
2014-01-14 21:00
libev
libev
源代码分析
--事件监控器
另外两个重要的监控器前面通过IO监控器将Libev的整个工作流程过了一遍。中间滤过了很多与其他事件监控器相关的部分,但是整体思路以及很明晰了,只要针对其他类型的watcher看下其初始化和注册过程以及在ev_run中的安排即可。这里我们再分析另两个常用的watcher1.分析定时器监控器定时器在程序中可以做固定周期tick操作,也可以做一次性的定时操作。Libev中与定时器类似的还有个周期事件wa
yusiguyuan
·
2014-01-14 21:00
libev
libev
源代码分析
--设计分析
此文主要分析libev的设计架构与算法实现,阅读这篇文章之前,你需要对libev的使用有大致的了解;libev提供了很多watcher供开发者使用,以下仅对最重要最常用的几个watcher机制进行分析,从中我们可掌握整个libev的设计思想,如果你想了解更多,可查阅libev的相关代码或文档。ev_io_watcher如我们所知,新的fd总是系统可用的最小fd,所以这个长度可以进行大小限制的,我们
yusiguyuan
·
2014-01-14 21:00
libev
libev
源代码分析
--基本的接口函数
ibev的代码很简练但对于看他代码的人简直就是噩梦到处都是宏宏还嵌套于是我在看libev代码时对其进行了还原去掉了宏1structev_io{2intfd;3intevents;4structev_watcher_list*list;5intactive;6intpending;7intpriority;8void*data;9void(*cb)(structev_loop*loop,struct
yusiguyuan
·
2014-01-14 21:00
libev
libev
源代码分析
--ev_io实现
1.ev_watcher和ev_loopev_watcher:libev中所有事件的基础类型ev_watcher,所有的事件都可以通过(W)watcher转换成ev_watcher,大写的W在libev定义的是ev_watcher*。抽象出ev_watcher作用是所有的watcher都可以共用ev_start、ev_stop函数下面用ev_TYPE表示ev_io、ev_timer、ev_asyn
yusiguyuan
·
2014-01-14 21:00
libev
libev
源代码分析
--数据结构
libev的代码很简练,除了对高效I/O模型等的封装文件,核心文件就两个:ev.h和ev.c,其中ev.c大概4000行左右。代码大量用到了宏,并且宏还嵌套了宏,为了便于理解libev的代码,这里对宏进行了还原。 ev_watcher结构体(其成员为其它结构的公共部分): typedef structev_watcher{intactive;//激活标识intpending;//等待事件数intp
yusiguyuan
·
2014-01-14 21:00
libev
libev
源代码分析
--初识
其实这些都是网络编程需要的库,这个库和libevent又是类似的东西,我们再分析一个,然后再做分析这个库和libevent之间的区别。主要的代码有ev.cevent,c然后再选择一个自己熟悉的I/O复用机制,这里估计还选择epoll吧!!!libev是一个开源的事件驱动库,基于epoll,kqueue等OS提供的基础设施。其以高效出名,它可以将IO事件,定时器,和信号统一起来,统一放在事件处理这一
yusiguyuan
·
2014-01-14 21:00
libev
libevent
源代码分析
——event_dispatch() (二)
在上篇文章中介绍关于event_dispatch的大体框架,这里对其中的几个重要的函数解释说明1、timeout_correct(base,&tv)staticvoid 889timeout_correct(structevent_base*base,structtimeval*tv) 890{ 891structevent**pev; 892unsignedintsize; 893structt
yusiguyuan
·
2014-01-14 15:00
libevent
libevent
源代码分析
--event_dispatch() (一)
event_dispatch这个函数是以上所有处理都结束以后,最后的一个借口调用,其实和这个函数类似的函数有好几个,接下来一一分析。int 405event_dispatch(void) 406{ 407return(event_loop(0)); 408} 可以返现event_dispatch只有一个调用event_loop(),但是event_loop函数的调用呢int 467event_lo
yusiguyuan
·
2014-01-14 14:00
libevent
GCC
源代码分析
,recog_memoized()函数
定义在recog.c文件中intrecog_memoized(insn) rtxinsn;{ volatile_ok=1; if(INSN_CODE(insn)<0) INSN_CODE(insn)=recog(PATTERN(insn),insn); returnINSN_CODE(insn);}recog()函数定义在insn_recog.c文件中...insninsn13insnc
sitelist
·
2014-01-14 13:00
gcc
源代码
分析
RTMP_ParseUrl
源代码分析
,
RTMP_ParseUrl
源代码分析
,//rtsp://192.168.10.100:8888/vlc/avatar.mp4\0 //pcolslashend /* 可以记录一种含有杂质的字符串中任何一种数据类型
yinjingyu_bisheng
·
2014-01-14 10:00
Proxy
源代码分析
--谈谈如何学习linux网络编程
Proxy
源代码分析
--谈谈如何学习linux网络编程本文出自:http://www.china-pub.com作者:李培源(2001-08-1012:00:00)Linux是一个可靠性非常高的操作系统
fkzh2651
·
2014-01-14 10:00
gcc
源代码分析
,end_final()函数把insn转化成汇编代码
end_final()函数在toplev.c里面被调用。定义在final.c文件里。end_final(main_input_filename);final()函数:voidfinal(first,file,write_symbols,optimize,prescan) rtxfirst; FILE*file; enumdebuggerwrite_symbols; int
sitelist
·
2014-01-13 18:00
gcc
源代码
分析
gcc
源代码分析
,rtx_alloc函数分析
有了print_rtx()函数和gen_rtx()函数以及insn结构和rtx结构【主要是fmt格式化字符串和GET_RTX_LENGTH】的定义。对于rtx或者说insn我们已经能游刃有余了!/*AllocateanrtxofcodeCODE. TheCODEisstoredinthertx; alltherestisinitializedtozero. */rtxrtx_alloc(code
sitelist
·
2014-01-13 12:00
gcc
源代码
分析
Gcc
源代码分析
,insn和rtx的关系
insn-->movax,8rtx axrtx 8rtx movax,8上图可以很清楚的表示出insn和rtx的关系 可以看出rtl就是一种抽象的汇编语言,汇编一般都是直接操作寄存器,内存地址,当然也有callret和jump指令。而instruction既是insn的意思就是指令,既然是指令就应该有操作数,可以是0个,可以是1个,可以是2个。rtl.def被包含进rtl.h文件中
sitelist
·
2014-01-13 11:00
gcc
源代码
分析
java中HashMap详解
通过HashMap、HashSet的
源代码分析
其
jinshuaiwang
·
2014-01-13 10:00
gcc
源代码分析
,debug_rtx()函数,利器啊
修改方法:emit-rtl.c文件里面的gen_rtx()函数里面进行修改。 va_end(p);debug_rtx(rt_val); returnrt_val; /*ReturnthenewRTX... */}下面是从main开始的rtx的生成顺序...(symbol_ref:SI("main"))(mem:QI(symbol_ref:SI("main")))(mem(nil
sitelist
·
2014-01-12 19:00
gcc
源代码
分析
debug_rtx
开
源代码分析
技巧之——高效Windows源码分析
开
源代码分析
技巧之——高效Windows源码分析 引言:项目开发中,我们免不了在已有代码或版本的基础上新增代码。
wojiushiwo987
·
2014-01-12 18:00
源码
windows
分析
开源代码
gcc
源代码分析
之gen_call_value()函数
(call_insn769(set(reg:SI0) (call(mem:QI(symbol_ref/v:SI("printf"))) (const_int4)))-1(nil) (nil))(reg:SI0) 就是operand0(mem:QI(symbol_ref/v:SI("printf"))) 就是operand1(const_int4) 就是opera
sitelist
·
2014-01-12 10:00
gcc
源代码
分析
gcc
源代码分析
emit_call_insn()函数
/*BuildafunctioncalltofunctionFUNCTIONwithparametersPARAMS. PARAMSisalist--achainofTREE_LISTnodes--inwhichthe TREE_VALUEofeachnodeisaparameter-expression. FUNCTION'sdatatypemaybeafunctiontypeorapoi
sitelist
·
2014-01-11 20:00
gcc
源代码
分析
gcc
源代码分析
,genemit由i386.md文件生成insn-emit.c文件
第一部分输入的:;;Callsubroutinereturningnovalue.(define_insn"call" [(call(match_operand:QI0"indirect_operand""m") (match_operand:SI1"general_operand""g"))] ;;Operand1notreallyusedonthem68000. "" "*{ if(GET
sitelist
·
2014-01-11 19:00
源代码
gcc
分析
gcc
源代码分析
gen_rtx()函数
Gcc
源代码分析
,gcc-1.40主要目的是找到rtl如何生成的?rtl如何和i386.md连接起来的?就把这两个问题解决了,即可。
sitelist
·
2014-01-11 18:00
gcc
XBMC
源代码分析
7:视频播放器(dvdplayer)-输入流(以libRTMP为例)
前文分析了XBMC的基本结构: XBMC
源代码分析
1:整体结构以及编译方法XBMC
源代码分析
2:Addons(皮肤Skin)XBMC
源代码分析
3:核心部分(core)-综述XBMC
源代码分析
4:视频播放器
leixiaohua1020
·
2014-01-10 01:00
play
XBMC
源代码分析
7:视频播放器(dvdplayer)-输入流(以libRTMP为例)
前文分析了XBMC的基本结构:XBMC
源代码分析
1:整体结构以及编译方法XBMC
源代码分析
2:Addons(皮肤Skin)XBMC
源代码分析
3:核心部分(core)-综述XBMC
源代码分析
4:视频播放器
leixiaohua1020
·
2014-01-10 01:00
播放器
源代码
输入
xbmc
librtmp
LinkedList
源代码分析
LinkedList是动态数组的另一种实现,底层以双向循环链表为实现基础,它的优势在于可以快速的删除和添加元素,不需要像ArrayList那样移动大量的元素,但对于查找元素需要逐个遍历链表中的元素,进行匹配。所以LinkedList适用于频繁删除和添加元素,较少查找元素的应用场景。 LinkedList内部
xiaoshanjnby
·
2014-01-09 12:00
LinkedList
XBMC
源代码分析
6:视频播放器(dvdplayer)-文件头(以ffmpeg为例)
XBMC分析系列文章: XBMC
源代码分析
1:整体结构以及编译方法XBMC
源代码分析
2:Addons(皮肤Skin)XBMC
源代码分析
3:核心部分(core)-综述XBMC
源代码分析
4:视频播放器(dvdplayer
leixiaohua1020
·
2014-01-09 00:00
ffmpeg
上一页
59
60
61
62
63
64
65
66
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他