亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? get-footprint.py

?? 基于sip協(xié)議的網(wǎng)絡(luò)電話源碼
?? PY
字號(hào):
# $Id: get-footprint.py 826 2006-11-24 09:31:22Z bennylp $# # This file is used to generate PJSIP/PJMEDIA footprint report.# To use this file, just run it in pjsip-apps/build directory, to# produce footprint.txt and footprint.htm report files.#import osimport sysimport stringimport timecompile_flags1 = [    # Base    ['BASE',			'Empty application size'],    ['',			'Subtotal: Empty application size'],    ['HAS_PJLIB', 		'Minimum PJLIB only'],    # Subtotal    ['',			'Subtotal'],    # PJLIB-UTIL    ['HAS_PJLIB_STUN',		'STUN client'],    ['HAS_PJLIB_GETOPT',	'getopt() functionality'],        # Subtotal    ['',			'TOTAL']]compile_flags = [    # Base    ['BASE',			'Empty application size'],    ['', 			'Subtotal: empty application size on this platform'],    ['HAS_PJLIB', 		'PJLIB (pool, data structures, hash tables, ioqueue, socket, timer heap, etc.). ' +			        'For targets that statically link application with LIBC, the size includes ' +			        'various LIBC functions that are used by PJLIB.'],    ['', 			'Subtotal: Application linked with PJLIB'],    # PJLIB-UTIL    ['HAS_PJLIB_STUN',		'PJLIB-UTIL STUN client'],    ['HAS_PJLIB_GETOPT',	'PJLIB-UTIL getopt() functionality'],    ['HAS_PJLIB_SCANNER',	'PJLIB-UTIL text scanner (needed by SIP parser)'],    ['HAS_PJLIB_XML',		'PJLIB-UTIL tiny XML (parsing and API) (needs text scanner)'],    ['HAS_PJLIB_DNS',		'PJLIB-UTIL DNS packet and parsing'],    ['HAS_PJLIB_RESOLVER',	'PJLIB-UTIL Asynchronous DNS resolver/caching engine'],    # PJSIP    ['HAS_PJSIP_CORE_MSG_ELEM',	'PJSIP Core - Messaging Elements and Parsing (message, headers, SIP URI, TEL URI/RFC 3966, etc.)'],    ['HAS_PJSIP_CORE',		'PJSIP Core - Endpoint (transport management, module management, event distribution, etc.)'],    ['HAS_PJSIP_CORE_MSG_UTIL',	'PJSIP Core - Stateless operations, SIP SRV, server resolution and fail-over'],    ['HAS_PJSIP_UDP_TRANSPORT',	'PJSIP UDP transport'],    ['',			'Subtotal: A minimalistic SIP application (parsing, UDP transport+STUN, no transaction)'],       ['HAS_PJSIP_TCP_TRANSPORT',	'PJSIP TCP transport'],    ['HAS_PJSIP_INFO',		'PJSIP INFO support (RFC 2976) (no special treatment, thus the zero size)'],    ['HAS_PJSIP_TRANSACTION',	'PJSIP transaction and stateful API'],    ['HAS_PJSIP_AUTH_CLIENT',	'PJSIP digest authentication client'],    ['HAS_PJSIP_UA_LAYER',	'PJSIP User agent layer and base dialog and usage management (draft-ietf-sipping-dialogusage-01)'],    ['HAS_PJMEDIA_SDP',		'PJMEDIA SDP Parsing and API (RFC 2327), needed by SDP negotiator'],    ['HAS_PJMEDIA_SDP_NEGOTIATOR','PJMEDIA SDP negotiator (RFC 3264), needed by INVITE session'],    ['HAS_PJSIP_INV_SESSION',	'PJSIP INVITE session API'],    ['HAS_PJSIP_REGC',		'PJSIP client registration API'],    ['',			'Subtotal: Minimal SIP application with registration (including digest authentication)'],        ['HAS_PJSIP_EVENT_FRAMEWORK','PJSIP Event/SUBSCRIBE framework, RFC 3265 (needed by call transfer, and presence)'],    ['HAS_PJSIP_CALL_TRANSFER',	'PJSIP Call Transfer/REFER support (RFC 3515)'],    ['',			'Subtotal: Minimal SIP application with call transfer'],    ['HAS_PJSIP_PRESENCE',	'PJSIP Presence subscription, including PIDF/X-PIDF support (RFC 3856, RFC 3863, etc) (needs XML)'],    ['HAS_PJSIP_MESSAGE',	'PJSIP Instant Messaging/MESSAGE support (RFC 3428) (no special treatment, thus the zero size)'],    ['HAS_PJSIP_IS_COMPOSING',	'PJSIP Message Composition indication (RFC 3994)'],    # Subtotal    ['',			'Subtotal: Complete PJSIP package (call, registration, presence, IM) +STUN +GETOPT (+PJLIB), no media'],        # PJMEDIA    ['HAS_PJMEDIA_EC',		'PJMEDIA accoustic echo cancellation'],    ['HAS_PJMEDIA_SND_DEV',	'PJMEDIA sound device backend (platform specific)'],    ['HAS_PJMEDIA_SILENCE_DET',	'PJMEDIA Adaptive silence detector'],    ['HAS_PJMEDIA',		'PJMEDIA endpoint'],    ['HAS_PJMEDIA_PLC',		'PJMEDIA Packet Lost Concealment implementation (needed by G.711, GSM, and sound device port)'],    ['HAS_PJMEDIA_SND_PORT',	'PJMEDIA sound device media port'],    ['HAS_PJMEDIA_RESAMPLE',	'PJMEDIA resampling algorithm (large filter disabled)'],    ['HAS_PJMEDIA_G711_CODEC',	'PJMEDIA G.711 codec (PCMA/PCMU, including PLC) (may have already been linked by other module)'],    ['HAS_PJMEDIA_CONFERENCE',	'PJMEDIA conference bridge (needs resampling and silence detector)'],    ['HAS_PJMEDIA_MASTER_PORT',	'PJMEDIA master port'],    ['HAS_PJMEDIA_RTP',		'PJMEDIA stand-alone RTP'],    ['HAS_PJMEDIA_RTCP',	'PJMEDIA stand-alone RTCP and media quality calculation'],    ['HAS_PJMEDIA_JBUF',	'PJMEDIA stand-alone adaptive jitter buffer'],    ['HAS_PJMEDIA_STREAM',	'PJMEDIA stream for remote media communication (needs RTP, RTCP, and jitter buffer)'],    ['HAS_PJMEDIA_TONEGEN',	'PJMEDIA tone generator'],    ['HAS_PJMEDIA_UDP_TRANSPORT','PJMEDIA UDP media transport'],    ['HAS_PJMEDIA_FILE_PLAYER',	'PJMEDIA WAV file player'],    ['HAS_PJMEDIA_FILE_CAPTURE',	'PJMEDIA WAV file writer'],    ['HAS_PJMEDIA_MEM_PLAYER',	'PJMEDIA fixed buffer player'],    ['HAS_PJMEDIA_MEM_CAPTURE',	'PJMEDIA fixed buffer writer'],    # Subtotal    ['',			'Subtotal: Complete SIP and all PJMEDIA features (G.711 codec only)'],        # Codecs    ['HAS_PJMEDIA_GSM_CODEC',	'PJMEDIA GSM codec (including PLC)'],    ['HAS_PJMEDIA_SPEEX_CODEC',	'PJMEDIA Speex codec (narrowband, wideband, ultra-wideband)'],    ['HAS_PJMEDIA_ILBC_CODEC',	'PJMEDIA iLBC codec'],    # Total    ['',			'TOTAL: complete libraries (+all codecs)'],]# Executable size report, tuple of:#   <all flags>, <flags added>, <text size>, <data>, <bss>, <description>exe_size = []## Write the report to text file#def print_text_report(filename):    output = open(filename, 'w')    output.write('PJSIP and PJMEDIA footprint report\n')    output.write('Auto-generated by pjsip-apps/build/get-footprint.py\n')    output.write('\n')    # Write Revision info.    f = os.popen('svn info | grep Revision')    output.write(f.readline())    output.write('Date: ')    output.write(time.asctime())    output.write('\n')    output.write('\n')    # Write individual module size    output.write('Footprint (in bytes):\n')    output.write('   .text   .data    .bss    Module Description\n')    output.write('==========================================================\n')	    for i in range(1, len(exe_size)):	e = exe_size[i]	prev = exe_size[i-1]		if e[1]<>'':	    output.write(' ')	    output.write(  string.rjust(`string.atoi(e[2]) - string.atoi(prev[2])`, 8) )	    output.write(  string.rjust(`string.atoi(e[3]) - string.atoi(prev[3])`, 8) )	    output.write(  string.rjust(`string.atoi(e[4]) - string.atoi(prev[4])`, 8) )	    output.write('   ' + e[5] + '\n')	else:	    output.write(' ------------------------\n')		    output.write(' ')	    output.write( string.rjust(e[2], 8) )	    output.write( string.rjust(e[3], 8) )	    output.write( string.rjust(e[4], 8) )	    output.write('   ' + e[5] + '\n')	    output.write('\n')		    # Done        output.close()## Write the report to HTML file#def print_html_report():    # Get Revision info.    f = os.popen('svn info | grep Revision')    revision = f.readline().split()[1]    # Get Machine, OS, and CC name    f = os.popen('make -f Footprint.mak print_name')    names = f.readline().split()    m = names[0]    o = names[1]    cc = names[2]    cc_ver = names[3]    # Open HTML file    filename = 'footprint-' + m + '-' + o + '.htm'    output = open(filename, 'w')    title = 'PJSIP and PJMEDIA footprint report for ' + m + '-' + o + ' target'    output.write('<HTML><HEAD>\n');    output.write(' <TITLE>' + title + '</TITLE>\n')    output.write(' <LINK href="/style/style.css" type="text/css" rel="stylesheet">\n')    output.write('</HEAD>\n');    output.write('<BODY bgcolor="white">\n');    output.write('<!--#include virtual="/header.html" -->')    output.write(' <H1>' + title + '</H1>\n')    output.write('Auto-generated by pjsip-apps/build/get-footprint.py script\n')    output.write('<p>Date: ' + time.asctime() + '<BR>\n')    output.write('Revision: r' + revision + '</p>\n\n')    output.write('<HR>\n')    output.write('\n')    # Info    output.write('<H2>Build Configuration</H2>\n')    # build.mak    output.write('\n<H3>build.mak</H3>\n')    output.write('<tt>\n')    f = open('../../build.mak', 'r')    s = f.readlines()    for l in s:	output.write(l + '<BR>\n')    output.write('</tt>\n')    output.write('<p>Using ' + cc + ' version ' + cc_ver +'</p>\n')    # user.mak    output.write('\n<H3>user.mak</H3>\n')    output.write('<tt>\n')    f = open('../../user.mak', 'r')    s = f.readlines()    for l in s:	output.write(l + '<BR>\n')    output.write('</tt>\n')    # config_site.h    output.write('\n<H3>&lt;pj/config.site.h&gt;</H3>\n')    output.write('<tt>\n')    f = os.popen('cpp -dM -I../../pjlib/include ../../pjlib/include/pj/config_site.h | grep PJ')    s = f.readlines()    for l in s:	output.write(l + '<BR>\n')    output.write('</tt>\n')    # Write individual module size    output.write('<H2>Footprint Report</H2>\n')    output.write('<p>The table below shows the footprint of individual feature, in bytes.</p>')    output.write('<TABLE border="1" cellpadding="2" cellspacing="0">\n' + 		  '<TR bgcolor="#e8e8ff">\n' + 		  '  <TD align="center"><strong>.text</strong></TD>\n' +		  '  <TD align="center"><strong>.data</strong></TD>\n' +		  '  <TD align="center"><strong>.bss</strong></TD>\n' +		  '  <TD align="center"><strong>Features/Module Description</strong></TD>\n' +		  '</TR>\n')		    for i in range(1, len(exe_size)):	e = exe_size[i]	prev = exe_size[i-1]		output.write('<TR>\n')	if e[1]<>'':	    output.write( '  <TD align="right">' + `string.atoi(e[2]) - string.atoi(prev[2])` + '</TD>\n')	    output.write( '  <TD align="right">' + `string.atoi(e[3]) - string.atoi(prev[3])` + '</TD>\n')	    output.write( '  <TD align="right">' + `string.atoi(e[4]) - string.atoi(prev[4])` + '</TD>\n' )	    output.write( '  <TD>' + e[5] + '</TD>\n')	else:	    empty_size = exe_size[1]	    output.write('<TR bgcolor="#e8e8ff">\n')	    output.write( '  <TD align="right">&nbsp;</TD>\n')	    output.write( '  <TD align="right">&nbsp;</TD>\n')	    output.write( '  <TD align="right">&nbsp;</TD>\n')	    output.write( '  <TD><strong>' + e[5] + ': .text=' + e[2]+ ', .data=' + e[3] + ', .bss=' + e[4] )	    output.write( '\n </strong> <BR>(Size minus empty application size: ' + \			    '.text=' + `string.atoi(e[2]) - string.atoi(empty_size[2])` + \			    ', .data=' + `string.atoi(e[3]) - string.atoi(empty_size[3])` + \			    ', .data=' + `string.atoi(e[4]) - string.atoi(empty_size[4])` + \			    ')\n' )	    output.write( ' </TD>\n')	output.write('</TR>\n')    output.write('</TABLE>\n')    output.write('<!--#include virtual="/footer.html" -->')    output.write('</BODY>\n')    output.write('</HTML>\n')	    # Done        output.close()## Get the size of individual feature#def get_size(all_flags, flags, desc):	file = 'footprint.exe'	# Remove file	rc = os.system("make -f Footprint.mak FCFLAGS='" + all_flags + "' clean")	# Make the executable	cmd = "make -f Footprint.mak FCFLAGS='" + all_flags + "' all"	#print cmd	rc = os.system(cmd)	if rc <> 0:		sys.exit(1)	# Run 'size' against the executable	f = os.popen('size ' + file)	# Skip header of the 'size' output	f.readline()	# Get the sizes	size = f.readline()	f.close()	# Split into tokens	tokens = size.split()	# Build the size tuple and add to exe_size	elem = all_flags, flags, tokens[0], tokens[1], tokens[2], desc	exe_size.append(elem)	# Remove file	rc = os.system("make -f Footprint.mak FCFLAGS='" + all_flags + "' clean")	# Mainelem = '', '',  '0', '0', '0', ''exe_size.append(elem)all_flags = ''for elem in compile_flags:    if elem[0] <> '':	flags = '-D' + elem[0]	all_flags += flags + ' '	get_size(all_flags, elem[0], elem[1])    else:	e = exe_size[len(exe_size)-1]	n = all_flags, '', e[2], e[3], e[4], elem[1]	exe_size.append(n)	#print_text_report('footprint.txt')	print_html_report()

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品一区二区三区不卡| 在线观看一区日韩| 日本欧美韩国一区三区| 亚洲美女精品一区| 亚洲品质自拍视频| 亚洲一二三区不卡| 日韩精品亚洲一区二区三区免费| 夜夜嗨av一区二区三区| 亚洲电影一级片| 亚洲va中文字幕| 麻豆极品一区二区三区| 日本午夜一本久久久综合| 日韩成人免费在线| 久久国产三级精品| 国产黄色成人av| caoporn国产精品| 91麻豆精品在线观看| 在线区一区二视频| 欧美精品日韩一本| 日韩精品中文字幕在线一区| 欧美成人官网二区| 国产视频在线观看一区二区三区 | 亚洲国产成人tv| 亚洲国产cao| 精品一区二区在线观看| 国产盗摄精品一区二区三区在线 | 在线区一区二视频| 欧美一区二区三区影视| 欧美极品xxx| 亚洲激情图片qvod| 欧美aaaaaa午夜精品| 国产91在线观看丝袜| 一本大道久久a久久精二百| 欧美日韩成人一区| 国产欧美1区2区3区| 亚洲一区二区三区小说| 免费看日韩精品| 成人激情黄色小说| 欧美老女人在线| 中文av一区二区| 日本在线播放一区二区三区| 大陆成人av片| 欧美一区国产二区| 《视频一区视频二区| 蜜臀91精品一区二区三区| 成人涩涩免费视频| 欧美成人女星排名| 亚洲一区二区欧美日韩| 国产999精品久久| 欧美丰满一区二区免费视频| 国产精品卡一卡二卡三| 久久99最新地址| 欧美日韩一区高清| 中文字幕精品在线不卡| 久久国产精品第一页| 日本韩国欧美国产| 欧美经典三级视频一区二区三区| 日韩av一区二| 欧美三级欧美一级| 亚洲欧美激情视频在线观看一区二区三区 | 欧美精品在线一区二区| 国产精品久久久久久久岛一牛影视 | 亚洲综合色丁香婷婷六月图片| 国产一区二三区| 91精品国产91热久久久做人人| 亚洲精品日韩综合观看成人91| 粉嫩aⅴ一区二区三区四区五区| 日韩一区二区三区电影| 亚洲成a人片在线不卡一二三区 | 亚洲一区二区在线视频| 91在线国产福利| 国产精品国产精品国产专区不蜜 | 91精品国产91久久久久久一区二区| 亚洲精品国久久99热| av激情成人网| 一区二区三区影院| 色综合av在线| 一区二区三区久久| 91福利精品第一导航| 悠悠色在线精品| 欧美午夜精品免费| 亚洲无人区一区| 在线不卡中文字幕播放| 青青草国产精品亚洲专区无| 91精品国产综合久久精品性色| 日韩高清不卡一区二区| 91精品国产欧美一区二区| 青青草伊人久久| 国产亚洲一区二区三区四区| 风间由美一区二区三区在线观看 | 亚洲老司机在线| 欧美亚洲一区二区三区四区| 亚洲综合无码一区二区| 制服丝袜亚洲色图| 亚洲午夜一区二区| 91精品国产一区二区三区香蕉| 麻豆国产精品官网| 国产欧美日韩视频一区二区| 成人av在线资源网| 亚洲激情中文1区| 日韩欧美区一区二| 粉嫩蜜臀av国产精品网站| 国产精品麻豆欧美日韩ww| 在线观看不卡一区| 麻豆精品一区二区av白丝在线| 欧美精品一区二区久久婷婷| 国产91露脸合集magnet| 亚洲最大成人综合| 欧美一区二区三区啪啪| 国产成人8x视频一区二区| 亚洲免费在线视频一区 二区| 69p69国产精品| 国产 欧美在线| 日韩电影网1区2区| 国产精品乱码一区二三区小蝌蚪| 日本丶国产丶欧美色综合| 看国产成人h片视频| 日韩一区中文字幕| 欧美大片在线观看| 91久久精品网| 国产一区二区三区av电影 | 美女视频黄 久久| 国产精品麻豆网站| 精品国产乱码久久久久久夜甘婷婷| 99这里都是精品| 韩国av一区二区三区在线观看| 一区二区三区在线观看动漫| 久久婷婷国产综合国色天香| 欧美日韩亚洲国产综合| 成人a免费在线看| 国产高清亚洲一区| 日本欧美一区二区| 亚洲第一久久影院| 亚洲靠逼com| 国产精品欧美久久久久无广告 | 91视频观看视频| 国产激情一区二区三区| 青青草国产精品亚洲专区无| 亚洲一区二区三区四区五区黄| 中文字幕不卡一区| 久久人人爽爽爽人久久久| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲不卡一区二区三区| 国产精品久久久久久久第一福利 | 欧美日韩一区二区三区视频| 成av人片一区二区| 国产91丝袜在线播放九色| 美女精品一区二区| 日本成人在线视频网站| 亚洲高清视频中文字幕| 亚洲国产视频一区二区| 亚洲一二三四在线观看| 亚洲精品成人悠悠色影视| 亚洲天堂2014| 亚洲免费观看高清完整版在线观看熊 | 欧美亚州韩日在线看免费版国语版| 丁香六月久久综合狠狠色| 成人黄色在线看| aaa亚洲精品| 91社区在线播放| 欧美在线观看视频在线| 在线观看不卡一区| 欧美日韩aaaaa| 欧美一区永久视频免费观看| 精品久久久久久久一区二区蜜臀| 日韩精品在线网站| 欧美激情一区二区三区全黄| 国产精品无人区| 亚洲另类色综合网站| 亚洲.国产.中文慕字在线| 亚洲r级在线视频| 蜜桃视频免费观看一区| 国产麻豆成人传媒免费观看| 成人中文字幕电影| 色八戒一区二区三区| 正在播放亚洲一区| 久久亚洲欧美国产精品乐播| 国产午夜精品福利| 亚洲精品乱码久久久久久日本蜜臀| 亚洲一线二线三线视频| 日韩精品国产精品| 国产毛片精品国产一区二区三区| 成人在线视频一区| 欧美日韩在线播| 久久久久久久免费视频了| 亚洲欧洲日韩av| 日韩高清电影一区| 成人av影视在线观看| 欧美日韩在线播放三区| 国产无一区二区| 婷婷久久综合九色国产成人| 国产真实乱对白精彩久久| 91在线观看视频| 精品99999| 亚洲在线成人精品| 激情综合色综合久久| 91国产视频在线观看| 久久只精品国产| 日韩在线一区二区三区| 成人白浆超碰人人人人|