?!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> c语言与函数式~程1Qwrapper functionQ?南软g开发|׃软g开?南赢dU技软g开发公?/title> <meta name="keywords" content="c语言与函数式~程1Qwrapper functionQ?/> <meta name="description" content="一、c语言与函数式~程模式QfuncitonalprogrammingQ?nbsp;1Qc语言通过函数指针Q函数指针可以作为参敎ͼ也可以作回|对funcitonalprogramming提供一定的支持2Q但又远不够强大Q本w不支持闭包Q嵌套定义等Q远未达到funci"/> <link href="/css/style.css" rel="stylesheet" type="text/css" /> <meta http-equiv="Cache-Control" content="no-transform" /> <meta http-equiv="Cache-Control" content="no-siteapp" /> </head> <body> <div style="position:fixed;left:-9000px;top:-9000px;"><dfn id="orz4q"><noscript id="orz4q"><xmp id="orz4q"><output id="orz4q"></output></xmp></noscript></dfn><strong id="orz4q"><dl id="orz4q"></dl></strong><ol id="orz4q"><p id="orz4q"><nav id="orz4q"><pre id="orz4q"></pre></nav></p></ol><dfn id="orz4q"></dfn><small id="orz4q"><optgroup id="orz4q"></optgroup></small><center id="orz4q"><small id="orz4q"><track id="orz4q"><rp id="orz4q"></rp></track></small></center><table id="orz4q"><ruby id="orz4q"><dl id="orz4q"><del id="orz4q"></del></dl></ruby></table><rt id="orz4q"></rt><output id="orz4q"></output><mark id="orz4q"></mark><dl id="orz4q"></dl><div id="orz4q"></div><optgroup id="orz4q"></optgroup><address id="orz4q"><progress id="orz4q"><noframes id="orz4q"><tr id="orz4q"></tr></noframes></progress></address><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><wbr id="orz4q"></wbr></address></thead></listing><video id="orz4q"></video><object id="orz4q"><sup id="orz4q"></sup></object><em id="orz4q"></em><div id="orz4q"></div><progress id="orz4q"><listing id="orz4q"><th id="orz4q"><option id="orz4q"></option></th></listing></progress><meter id="orz4q"></meter><acronym id="orz4q"><rt id="orz4q"></rt></acronym><label id="orz4q"></label><track id="orz4q"></track><noscript id="orz4q"><div id="orz4q"><pre id="orz4q"><ol id="orz4q"></ol></pre></div></noscript><s id="orz4q"><kbd id="orz4q"></kbd></s><form id="orz4q"></form><var id="orz4q"></var><dl id="orz4q"><strike id="orz4q"></strike></dl><xmp id="orz4q"><strike id="orz4q"><small id="orz4q"><samp id="orz4q"></samp></small></strike></xmp><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><progress id="orz4q"></progress></address></thead></listing><del id="orz4q"></del><object id="orz4q"><address id="orz4q"><samp id="orz4q"><rt id="orz4q"></rt></samp></address></object><ruby id="orz4q"></ruby><noframes id="orz4q"></noframes><code id="orz4q"></code><var id="orz4q"></var><nav id="orz4q"></nav><u id="orz4q"></u><span id="orz4q"></span><li id="orz4q"></li><tbody id="orz4q"><table id="orz4q"><span id="orz4q"><dl id="orz4q"></dl></span></table></tbody><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><var id="orz4q"></var><nav id="orz4q"></nav><rt id="orz4q"></rt><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><u id="orz4q"><s id="orz4q"></s></u><pre id="orz4q"><em id="orz4q"><p id="orz4q"><rp id="orz4q"></rp></p></em></pre><rt id="orz4q"><tr id="orz4q"></tr></rt> <pre id="orz4q"></pre><wbr id="orz4q"><rt id="orz4q"><tr id="orz4q"><output id="orz4q"></output></tr></rt></wbr><xmp id="orz4q"><pre id="orz4q"><em id="orz4q"><p id="orz4q"></p></em></pre></xmp><sub id="orz4q"></sub><p id="orz4q"></p><td id="orz4q"><tbody id="orz4q"></tbody></td><code id="orz4q"><video id="orz4q"><track id="orz4q"><tt id="orz4q"></tt></track></video></code><thead id="orz4q"></thead><source id="orz4q"><nobr id="orz4q"><cite id="orz4q"><td id="orz4q"></td></cite></nobr></source><del id="orz4q"></del><sub id="orz4q"></sub><code id="orz4q"></code><code id="orz4q"><menu id="orz4q"></menu></code><legend id="orz4q"><button id="orz4q"><source id="orz4q"><i id="orz4q"></i></source></button></legend><delect id="orz4q"></delect><ins id="orz4q"></ins><i id="orz4q"></i><pre id="orz4q"></pre><mark id="orz4q"></mark><b id="orz4q"><table id="orz4q"><strong id="orz4q"><noframes id="orz4q"></noframes></strong></table></b><source id="orz4q"></source><small id="orz4q"><optgroup id="orz4q"></optgroup></small><dl id="orz4q"></dl><center id="orz4q"><em id="orz4q"><track id="orz4q"><rp id="orz4q"></rp></track></em></center><address id="orz4q"></address><tt id="orz4q"><code id="orz4q"><nobr id="orz4q"><sub id="orz4q"></sub></nobr></code></tt><strong id="orz4q"></strong><delect id="orz4q"></delect><nobr id="orz4q"></nobr><strike id="orz4q"></strike><strong id="orz4q"></strong><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><menu id="orz4q"></menu><menu id="orz4q"></menu><small id="orz4q"><optgroup id="orz4q"></optgroup></small><input id="orz4q"><label id="orz4q"></label></input><big id="orz4q"><nobr id="orz4q"><track id="orz4q"><button id="orz4q"></button></track></nobr></big><sub id="orz4q"></sub><nav id="orz4q"><blockquote id="orz4q"></blockquote></nav><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><wbr id="orz4q"></wbr></address></thead></listing><tbody id="orz4q"><table id="orz4q"></table></tbody><font id="orz4q"><mark id="orz4q"><meter id="orz4q"><tbody id="orz4q"></tbody></meter></mark></font><dl id="orz4q"><strike id="orz4q"><i id="orz4q"><samp id="orz4q"></samp></i></strike></dl><wbr id="orz4q"><noscript id="orz4q"></noscript></wbr><strong id="orz4q"><input id="orz4q"></input></strong><wbr id="orz4q"></wbr><legend id="orz4q"></legend><address id="orz4q"><progress id="orz4q"><noframes id="orz4q"><tr id="orz4q"></tr></noframes></progress></address><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><center id="orz4q"><ol id="orz4q"><noscript id="orz4q"><b id="orz4q"></b></noscript></ol></center> <u id="orz4q"><s id="orz4q"></s></u><u id="orz4q"><s id="orz4q"></s></u><output id="orz4q"></output><ruby id="orz4q"></ruby><wbr id="orz4q"></wbr><ins id="orz4q"></ins><s id="orz4q"><kbd id="orz4q"></kbd></s><b id="orz4q"></b><nobr id="orz4q"></nobr><strike id="orz4q"></strike><input id="orz4q"><label id="orz4q"></label></input><em id="orz4q"></em><form id="orz4q"></form><tbody id="orz4q"><table id="orz4q"><legend id="orz4q"><dl id="orz4q"></dl></legend></table></tbody><tr id="orz4q"></tr><dd id="orz4q"></dd><li id="orz4q"></li><code id="orz4q"></code><menu id="orz4q"><samp id="orz4q"></samp></menu><p id="orz4q"><rp id="orz4q"><u id="orz4q"><strong id="orz4q"></strong></u></rp></p><pre id="orz4q"><em id="orz4q"></em></pre><tbody id="orz4q"><table id="orz4q"></table></tbody><ol id="orz4q"><p id="orz4q"><label id="orz4q"><blockquote id="orz4q"></blockquote></label></p></ol><tr id="orz4q"><option id="orz4q"></option></tr><legend id="orz4q"></legend><p id="orz4q"><rp id="orz4q"><output id="orz4q"><strong id="orz4q"></strong></output></rp></p><menu id="orz4q"></menu><rt id="orz4q"></rt><rp id="orz4q"></rp><optgroup id="orz4q"></optgroup><del id="orz4q"></del><button id="orz4q"></button><rp id="orz4q"></rp><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><nav id="orz4q"><blockquote id="orz4q"></blockquote></nav><thead id="orz4q"><menuitem id="orz4q"><progress id="orz4q"><noscript id="orz4q"></noscript></progress></menuitem></thead><sup id="orz4q"><acronym id="orz4q"></acronym></sup><center id="orz4q"></center><font id="orz4q"></font><noscript id="orz4q"><div id="orz4q"></div></noscript><font id="orz4q"></font><wbr id="orz4q"><noscript id="orz4q"></noscript></wbr><meter id="orz4q"></meter><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><nav id="orz4q"></nav><input id="orz4q"><label id="orz4q"><menuitem id="orz4q"><progress id="orz4q"></progress></menuitem></label></input><address id="orz4q"></address><dl id="orz4q"></dl><progress id="orz4q"></progress><video id="orz4q"></video></div> <div class="head"> <div class="top"><span><a href="/html/sitemap.xml">XML</a> | <a href="/html/sitemap.html">HTML</a> | <a href="/sitemap.txt">TXT</a></span></div> <div class="bank"> <div class="logo"> <h1><strong><a href="http://www.themmauniversity.com" style="margin-right:10px">南软g开?/a></strong><strong><a href="http://www.themmauniversity.com">׃软g开?/a></strong></h1> </div> <div class="contact-top"></div> </div> <div class="menu"> <ul> <li><a href="/">?#160;   ?/a></li> <li><a href="/About/">关于我们</a></li> <li><a href="/Advantage/">开发优?/a></li> <li><a href="/Products/">产品展示</a></li> <li><a href="/Cooperation/">合作企业</a></li> <li><a href="/News/">新闻动?/a></li> <li><a href="/Contact/">联系我们</a></li> </ul> </div> <div class="banner"><img src="/images/banner.jpg" width="1000" height="341"/></div> </div> <div id="position"><div>您当前位|:<a href="/">软g开?/a> >> <a href="/News/">新闻动?/a> >> <a href="/News/Technology/">软g开发技?/a> >> 览文章</div></div> <div class="youshi_f1" id="youshi_tdyx"> <div class="youshi01"> <h1 class="article_title">c语言与函数式~程1Qwrapper functionQ?/h1> <div class="article_author">d旉Q?016-12-20 17:00:02 文章作者:<a href="/">南软g开?/a> 览ơ数Q?Script Language="Javascript" Src="/item/GetHits.asp?Action=Count&GetFlag=0&m=1&ID=3051"></Script></div> <div class="article_main"><div id="MyContent"><p style="margin-top: 0px; margin-bottom: 0px; padding: 15px 0px 0px; line-height: 30px; font-family: 宋体; color: rgb(51, 51, 51); font-size: 13.3333px; white-space: normal; background-color: rgb(241, 241, 241);"><strong style="margin: 0px; padding: 0px;">一、c语言与函数式~程模式Qfuncitonal programmingQ?/strong><br style="margin: 0px; padding: 0px;"/> </p><p><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">1Qc语言通过函数指针Q函数指针可以作为参敎ͼ也可以作回|对funcitonal programming提供一定的支持</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/></p><p style="margin-top: 0px; margin-bottom: 0px; padding: 15px 0px 0px; line-height: 30px; font-family: 宋体; color: rgb(51, 51, 51); font-size: 13.3333px; white-space: normal; background-color: rgb(241, 241, 241);">2Q但又远不够强大Q本w不支持闭包Q嵌套定义等Q远未达到funcitonal programming中first class function(high order function)的境?br style="margin: 0px; padding: 0px;"/> </p><p style="margin-top: 0px; margin-bottom: 0px; padding: 15px 0px 0px; line-height: 30px; font-family: 宋体; color: rgb(51, 51, 51); font-size: 13.3333px; white-space: normal; background-color: rgb(241, 241, 241);"> </p><p><strong style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);">二、c语言标准中对函数指针的阐?/strong><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">1Q函数指针可以进行类型{换,也就是从一U函数指针类型{换成另一U?/span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/></p><p style="margin-top: 0px; margin-bottom: 0px; padding: 15px 0px 0px; line-height: 30px; font-family: 宋体; color: rgb(51, 51, 51); font-size: 13.3333px; white-space: normal; background-color: rgb(241, 241, 241);">2Q但不支持函数指针非兼容cdQ两个函数指针具有不同的q回值等Q的调用Q可能会破坏?br style="margin: 0px; padding: 0px;"/> </p><p style="margin-top: 0px; margin-bottom: 0px; padding: 15px 0px 0px; line-height: 30px; font-family: 宋体; color: rgb(51, 51, 51); font-size: 13.3333px; white-space: normal; background-color: rgb(241, 241, 241);"> </p><p><strong style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);">三、D例说明(wrapper functionZQ?/strong><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">1QTaskCreate创徏一个线E,入口函数为entryPoint,׃entryPoint的函数类型和pthread_create中的函数cd不同</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">2Q若直接q行转换可能会引入上文提到的风险</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">3) 所以封装一entry_wrapper函数Q同时将entryPoint作ؓU程入口函数参数传递给pthread_create</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">源码如下Q?/span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">void *entry_wrapper (void (*entryPoint)(void))//ljc define a wrapper funciton,(tycast different signature function pointer is ok,but call it use another type may corrupt stack)</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">{</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">//entryPoint();</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">entryPoint();</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">return NULL;</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">}</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">int TaskCreate(UINT8 sName[], UINT32 dStackSize, void (*entryPoint)(void),INT32 dPriority, void *pPara, UINT32 *pTaskId)</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">{</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">pthread_t thread;</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">pthread_attr_t attr;</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">struct sched_param param_sched;</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">param_sched.sched_priZ喎�"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcml0eT1tYXBfcmFuZ2VfT3NwKGRQcmlvcml0eSwgMCwgMjU1LCAxLCA5OSk7PGJyPgo8YnI+CmlmKGRTdGFja1NpemU8UFRIUkVBRF9TVEFDS19NSU4pPGJyPgpkU3RhY2tTaXplPVBUSFJFQURfU1RBQ0tfTUlOOzxicj4KaWYocHRocmVhZF9hdHRyX2luaXQoJmFtcDthdHRyKSE9MCk8YnI+CnJldHVybiAtMTs8YnI+CnByaW50Zig=" %s %d %d\n",__FUNCTION__,__LINE__,PTHREAD_STACK_MIN);</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">printf(" %d\n",pthread_attr_setstacksize(&attr,(size_t)dStackSize));</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">printf(" %d\n",pthread_attr_setschedpolicy(&attr,SCHED_RR));</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">printf(" %d\n",pthread_attr_setschedparam(&attr,&param_sched));</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">if((pthread_attr_setstacksize(&attr,(size_t)dStackSize)!=0)||(pthread_attr_setschedpolicy(&attr,SCHED_RR)!=0)||(pthread_attr_setschedparam(&attr,&param_sched)!=0))</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">return -1;</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">printf(" %s %d\n",__FUNCTION__,__LINE__);</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">// if(pthread_create(&thread, &attr,(void *(*) (void *))entryPoint,pPara)!=0)//ljc when startroutine over,it will auto call pthread_exit;take startroutine's return value as it's exit status</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">if(pthread_create(&thread, &attr,(void *(*) (void *))entry_wrapper,entryPoint)!=0)</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">return -1;</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">if( pthread_attr_destroy(&attr)!=0)</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">return -1;</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">if(pTaskId)</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">*pTaskId=(UINT32)thread;</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">return 0;</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">}</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><strong style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);">四、高阶函敎ͼhigh order functionQ?/strong><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><strong style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);">1Qentry_wrapper本n有局限,</strong><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">若TaskCreate的定义如下:</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">int TaskCreate(UINT8 sName[], UINT32 dStackSize, void (*entryPoint)(void*),INT32 dPriority, void *pPara, UINT32 *pTaskId)</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/></p><p style="margin-top: 0px; margin-bottom: 0px; padding: 15px 0px 0px; line-height: 30px; font-family: 宋体; color: rgb(51, 51, 51); font-size: 13.3333px; white-space: normal; background-color: rgb(241, 241, 241);">也就是pPara不ؓI,那例子中pPara׃能用来传递entryPoint,那上文中的entry_wrapper无法正常工作了</p><p><strong style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);">2Q解x问题的策略,</strong><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">可用高阶函数Q接收一个函C为参敎ͼq返回一个新的函数指针)Q高阶函数的定义需满下述条g之一</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">函数作ؓ另一个函数的inputQ也是参数</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">函数作ؓ另一个函数的outputQ也是q回?/span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">高阶函数?lua代码CZQ?/span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">function newCounter ()</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">local i = 0</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">return function () -- anonymous function</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">i = i + 1</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">return i</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">end</span><br style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; white-space: normal; background-color: rgb(241, 241, 241);"/><span style="color: rgb(51, 51, 51); font-family: 微Y雅黑; font-size: 13.3333px; line-height: 20px; background-color: rgb(241, 241, 241);">end</span></p><p><br/></p></div> </div> </div> </div> <div class="clear"></div> <div class="foot"> <div class="foot_menu"> <ul> <li><a href="/About/">关于我们</a></li> <li><a href="/Advantage/">开发优?/a></li> <li><a href="/Statement/">法律声明</a></li> <li><a href="/Remittance/">汇款方式</a></li> <li><a href="/Contact/">联系我们</a></li> </ul> </div> <div class="banquan"> 手机Q?8678812288 EQMail:1069706080@qq.com<br /> 地址Q山东省南市舜耕\泉城公园东门园内向北50c? 鲁ICP?7011972? 版权所?008Q?013 ׃赢d信息U技有限公司<script type="text/javascript"> var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://"); document.write(unescape("%3Cscript src='" + _bdhmProtocol + "#/h.js%3F5fbc066dba9928a1e914c338c6945c98' type='text/javascript'%3E%3C/script%3E")); </script> </div> </div> <div style="position:fixed;left:-9000px;top:-9000px;"><dfn id="orz4q"><noscript id="orz4q"><xmp id="orz4q"><output id="orz4q"></output></xmp></noscript></dfn><strong id="orz4q"><dl id="orz4q"></dl></strong><ol id="orz4q"><p id="orz4q"><nav id="orz4q"><pre id="orz4q"></pre></nav></p></ol><dfn id="orz4q"></dfn><small id="orz4q"><optgroup id="orz4q"></optgroup></small><center id="orz4q"><small id="orz4q"><track id="orz4q"><rp id="orz4q"></rp></track></small></center><table id="orz4q"><ruby id="orz4q"><dl id="orz4q"><del id="orz4q"></del></dl></ruby></table><rt id="orz4q"></rt><output id="orz4q"></output><mark id="orz4q"></mark><dl id="orz4q"></dl><div id="orz4q"></div><optgroup id="orz4q"></optgroup><address id="orz4q"><progress id="orz4q"><noframes id="orz4q"><tr id="orz4q"></tr></noframes></progress></address><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><wbr id="orz4q"></wbr></address></thead></listing><video id="orz4q"></video><object id="orz4q"><sup id="orz4q"></sup></object><em id="orz4q"></em><div id="orz4q"></div><progress id="orz4q"><listing id="orz4q"><th id="orz4q"><option id="orz4q"></option></th></listing></progress><meter id="orz4q"></meter><acronym id="orz4q"><rt id="orz4q"></rt></acronym><label id="orz4q"></label><track id="orz4q"></track><noscript id="orz4q"><div id="orz4q"><pre id="orz4q"><ol id="orz4q"></ol></pre></div></noscript><s id="orz4q"><kbd id="orz4q"></kbd></s><form id="orz4q"></form><var id="orz4q"></var><dl id="orz4q"><strike id="orz4q"></strike></dl><xmp id="orz4q"><strike id="orz4q"><small id="orz4q"><samp id="orz4q"></samp></small></strike></xmp><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><progress id="orz4q"></progress></address></thead></listing><del id="orz4q"></del><object id="orz4q"><address id="orz4q"><samp id="orz4q"><rt id="orz4q"></rt></samp></address></object><ruby id="orz4q"></ruby><noframes id="orz4q"></noframes><code id="orz4q"></code><var id="orz4q"></var><nav id="orz4q"></nav><u id="orz4q"></u><span id="orz4q"></span><li id="orz4q"></li><tbody id="orz4q"><table id="orz4q"><span id="orz4q"><dl id="orz4q"></dl></span></table></tbody><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><var id="orz4q"></var><nav id="orz4q"></nav><rt id="orz4q"></rt><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><u id="orz4q"><s id="orz4q"></s></u><pre id="orz4q"><em id="orz4q"><p id="orz4q"><rp id="orz4q"></rp></p></em></pre><rt id="orz4q"><tr id="orz4q"></tr></rt> <pre id="orz4q"></pre><wbr id="orz4q"><rt id="orz4q"><tr id="orz4q"><output id="orz4q"></output></tr></rt></wbr><xmp id="orz4q"><pre id="orz4q"><em id="orz4q"><p id="orz4q"></p></em></pre></xmp><sub id="orz4q"></sub><p id="orz4q"></p><td id="orz4q"><tbody id="orz4q"></tbody></td><code id="orz4q"><video id="orz4q"><track id="orz4q"><tt id="orz4q"></tt></track></video></code><thead id="orz4q"></thead><source id="orz4q"><nobr id="orz4q"><cite id="orz4q"><td id="orz4q"></td></cite></nobr></source><del id="orz4q"></del><sub id="orz4q"></sub><code id="orz4q"></code><code id="orz4q"><menu id="orz4q"></menu></code><legend id="orz4q"><button id="orz4q"><source id="orz4q"><i id="orz4q"></i></source></button></legend><delect id="orz4q"></delect><ins id="orz4q"></ins><i id="orz4q"></i><pre id="orz4q"></pre><mark id="orz4q"></mark><b id="orz4q"><table id="orz4q"><strong id="orz4q"><noframes id="orz4q"></noframes></strong></table></b><source id="orz4q"></source><small id="orz4q"><optgroup id="orz4q"></optgroup></small><dl id="orz4q"></dl><center id="orz4q"><em id="orz4q"><track id="orz4q"><rp id="orz4q"></rp></track></em></center><address id="orz4q"></address><tt id="orz4q"><code id="orz4q"><nobr id="orz4q"><sub id="orz4q"></sub></nobr></code></tt><strong id="orz4q"></strong><delect id="orz4q"></delect><nobr id="orz4q"></nobr><strike id="orz4q"></strike><strong id="orz4q"></strong><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><menu id="orz4q"></menu><menu id="orz4q"></menu><small id="orz4q"><optgroup id="orz4q"></optgroup></small><input id="orz4q"><label id="orz4q"></label></input><big id="orz4q"><nobr id="orz4q"><track id="orz4q"><button id="orz4q"></button></track></nobr></big><sub id="orz4q"></sub><nav id="orz4q"><blockquote id="orz4q"></blockquote></nav><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><wbr id="orz4q"></wbr></address></thead></listing><tbody id="orz4q"><table id="orz4q"></table></tbody><font id="orz4q"><mark id="orz4q"><meter id="orz4q"><tbody id="orz4q"></tbody></meter></mark></font><dl id="orz4q"><strike id="orz4q"><i id="orz4q"><samp id="orz4q"></samp></i></strike></dl><wbr id="orz4q"><noscript id="orz4q"></noscript></wbr><strong id="orz4q"><input id="orz4q"></input></strong><wbr id="orz4q"></wbr><legend id="orz4q"></legend><address id="orz4q"><progress id="orz4q"><noframes id="orz4q"><tr id="orz4q"></tr></noframes></progress></address><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><center id="orz4q"><ol id="orz4q"><noscript id="orz4q"><b id="orz4q"></b></noscript></ol></center> <u id="orz4q"><s id="orz4q"></s></u><u id="orz4q"><s id="orz4q"></s></u><output id="orz4q"></output><ruby id="orz4q"></ruby><wbr id="orz4q"></wbr><ins id="orz4q"></ins><s id="orz4q"><kbd id="orz4q"></kbd></s><b id="orz4q"></b><nobr id="orz4q"></nobr><strike id="orz4q"></strike><input id="orz4q"><label id="orz4q"></label></input><em id="orz4q"></em><form id="orz4q"></form><tbody id="orz4q"><table id="orz4q"><legend id="orz4q"><dl id="orz4q"></dl></legend></table></tbody><tr id="orz4q"></tr><dd id="orz4q"></dd><li id="orz4q"></li><code id="orz4q"></code><menu id="orz4q"><samp id="orz4q"></samp></menu><p id="orz4q"><rp id="orz4q"><u id="orz4q"><strong id="orz4q"></strong></u></rp></p><pre id="orz4q"><em id="orz4q"></em></pre><tbody id="orz4q"><table id="orz4q"></table></tbody><ol id="orz4q"><p id="orz4q"><label id="orz4q"><blockquote id="orz4q"></blockquote></label></p></ol><tr id="orz4q"><option id="orz4q"></option></tr><legend id="orz4q"></legend><p id="orz4q"><rp id="orz4q"><output id="orz4q"><strong id="orz4q"></strong></output></rp></p><menu id="orz4q"></menu><rt id="orz4q"></rt><rp id="orz4q"></rp><optgroup id="orz4q"></optgroup><del id="orz4q"></del><button id="orz4q"></button><rp id="orz4q"></rp><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><nav id="orz4q"><blockquote id="orz4q"></blockquote></nav><thead id="orz4q"><menuitem id="orz4q"><progress id="orz4q"><noscript id="orz4q"></noscript></progress></menuitem></thead><sup id="orz4q"><acronym id="orz4q"></acronym></sup><center id="orz4q"></center><font id="orz4q"></font><noscript id="orz4q"><div id="orz4q"></div></noscript><font id="orz4q"></font><wbr id="orz4q"><noscript id="orz4q"></noscript></wbr><meter id="orz4q"></meter><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><nav id="orz4q"></nav><input id="orz4q"><label id="orz4q"><menuitem id="orz4q"><progress id="orz4q"></progress></menuitem></label></input><address id="orz4q"></address><dl id="orz4q"></dl><progress id="orz4q"></progress><video id="orz4q"></video></div> <a href="http://www.themmauniversity.com/">պƷһAV_aŷպƷ_Ů߳ڵѿ_ŷƷһһ</a> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body> </html>