⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lua移植到mtk平台小结.htm

📁 MTK上实现虚拟机的一种有效方案
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=gb2312">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1619" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2>
<H1><IMG height=16 alt=原创 src="http://blog.csdn.net/images/authorship.gif" 
width=15 border=0>&nbsp;<A 
href="http://blog.csdn.net/wuyao721/archive/2008/11/28/3405281.aspx">lua移植到MTK平台小结</A><CITE 
class=fav_csdnstylebykimi><A class=fav_csdnstylebykimi title=收藏到我的网摘中,并分享给我的朋友 
href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(saveit=window.open('http://wz.csdn.net/storeit.aspx?t='+escape(d.title)+'&amp;u='+escape(d.location.href)+'&amp;c='+escape(t),'saveit','scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes'));saveit.focus();">收藏</A></CITE></H1>
<DIV class=blogstory><SPAN id=Post.ascx_ViewPost_PreviousAndNextEntriesUp>
<H3><A 
href="http://blog.csdn.net/wuyao721/archive/2008/11/29/3410782.aspx">新一篇:&nbsp;sed新手使用进阶全功略(转)</A>&nbsp;|&nbsp;<A 
href="http://blog.csdn.net/wuyao721/archive/2008/11/26/3381937.aspx">旧一篇:&nbsp;lua和c/c++互相调用实例分析(转)</A></H3></SPAN>
<SCRIPT>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</SCRIPT>

<META content=Word.Document name=ProgId>
<META content="Microsoft Word 12" name=Generator>
<META content="Microsoft Word 12" name=Originator><LINK 
href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" 
rel=File-List><LINK 
href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" 
rel=themeData>
<STYLE>
<!--
 /* Font Definitions */
 @font-face
	{font-family:宋体;
	panose-1:2 1 6 0 3 1 1 1 1 1;
	mso-font-alt:SimSun;
	mso-font-charset:134;
	mso-generic-font-family:auto;
	mso-font-pitch:variable;
	mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:roman;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1107304683 0 0 159 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
@font-face
	{font-family:"\@宋体";
	panose-1:2 1 6 0 3 1 1 1 1 1;
	mso-font-charset:134;
	mso-generic-font-family:auto;
	mso-font-pitch:variable;
	mso-font-signature:3 135135232 16 0 262145 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	mso-pagination:none;
	font-size:10.5pt;
	mso-bidi-font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:宋体;
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	mso-font-kerning:1.0pt;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:21.0pt;
	mso-char-indent-count:2.0;
	mso-pagination:none;
	font-size:10.5pt;
	mso-bidi-font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:宋体;
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	mso-font-kerning:1.0pt;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
 /* Page Definitions */
 @page
	{mso-page-border-surround-header:no;
	mso-page-border-surround-footer:no;}
@page Section1
	{size:595.3pt 841.9pt;
	margin:72.0pt 90.0pt 72.0pt 90.0pt;
	mso-header-margin:42.55pt;
	mso-footer-margin:49.6pt;
	mso-paper-source:0;
	layout-grid:15.6pt;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:776799736;
	mso-list-type:hybrid;
	mso-list-template-ids:-268541224 1326191512 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
	{mso-level-text:%1.;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:18.0pt;
	text-indent:-18.0pt;}
ol
	{margin-bottom:0cm;}
ul
	{margin-bottom:0cm;}
-->
</STYLE>

<P class=MsoNormal style="TEXT-INDENT: 21pt"><SPAN lang=EN-US>lua</SPAN><SPAN 
style="FONT-FAMILY: 宋体">内核使用</SPAN><SPAN lang=EN-US>C</SPAN><SPAN 
style="FONT-FAMILY: 宋体">语言,所使用的函数也只有标准</SPAN><SPAN lang=EN-US>C</SPAN><SPAN 
style="FONT-FAMILY: 宋体">,并且没有全局变量。对于大部分操作系统来说,移植所要做的事情很少。而移植到</SPAN><SPAN 
lang=EN-US>MTK</SPAN><SPAN style="FONT-FAMILY: 宋体">平台则要注意以下几点:</SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21pt"><SPAN lang=EN-US><?XML:NAMESPACE 
PREFIX = O /><O:P>&nbsp;</O:P></SPAN></P>
<P class=MsoListParagraph 
style="MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt">&lt;!--[if 
!supportLists]--&gt;<SPAN lang=EN-US><SPAN>1.<SPAN 
style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp; 
</SPAN></SPAN></SPAN>&lt;!--[endif]--&gt;<SPAN 
style="FONT-FAMILY: 宋体">内存分配。</SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 18pt"><SPAN lang=EN-US>Lua</SPAN><SPAN 
style="FONT-FAMILY: 宋体">使用</SPAN><SPAN lang=EN-US>malloc</SPAN><SPAN 
style="FONT-FAMILY: 宋体">、</SPAN><SPAN lang=EN-US>realloc</SPAN><SPAN 
style="FONT-FAMILY: 宋体">、</SPAN><SPAN lang=EN-US>calloc</SPAN><SPAN 
style="FONT-FAMILY: 宋体">等函数来分配内存,而</SPAN><SPAN lang=EN-US>MTK</SPAN><SPAN 
style="FONT-FAMILY: 宋体">平台下不能使用这些函数,而是使用</SPAN><SPAN 
lang=EN-US>OslMalloc</SPAN><SPAN 
style="FONT-FAMILY: 宋体">等函数代替之。其它的分配内存函数包括以下:</SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 18pt"><SPAN lang=EN-US>#define 
media_get_ext_buffer(src_mod_id, buffer_p, buffer_size)\ </SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 18pt"><SPAN 
lang=EN-US>media_get_ext_buffer_ext(src_mod_id,buffer_p, 
buffer_size,__FILE__,__LINE__) </SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 18pt"><SPAN lang=EN-US>#define 
media_get_int_buffer(src_mod_id, buffer_p, buffer_size)\ </SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 18pt"><SPAN 
lang=EN-US>media_get_int_buffer_ext(src_mod_id,buffer_p,buffer_size,__FILE__,__LINE__) 
</SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 18pt"><SPAN lang=EN-US>#define 
media_free_int_buffer(src_mod_id, buffer_p)\ </SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 18pt"><SPAN 
lang=EN-US>media_free_int_buffer_ext(src_mod_id, buffer_p, __FILE__, __LINE__) 
</SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 18pt"><SPAN lang=EN-US>#define 
media_free_ext_buffer(src_mod_id, buffer_p)\ </SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 18pt"><SPAN 
lang=EN-US>media_free_ext_buffer_ext(src_mod_id, buffer_p, __FILE__, 
__LINE__)</SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 18pt"><SPAN 
lang=EN-US>mmi_frm_scrmem_alloc()</SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 18pt"><SPAN 
lang=EN-US><O:P>&nbsp;</O:P></SPAN></P>
<P class=MsoListParagraph 
style="MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt">&lt;!--[if 
!supportLists]--&gt;<SPAN lang=EN-US><SPAN>2.<SPAN 
style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp; 
</SPAN></SPAN></SPAN>&lt;!--[endif]--&gt;<SPAN 
style="FONT-FAMILY: 宋体">文件操作。</SPAN></P>
<P class=MsoListParagraph style="MARGIN-LEFT: 18pt; TEXT-INDENT: 0cm"><SPAN 
lang=EN-US>fopne</SPAN><SPAN style="FONT-FAMILY: 宋体">、</SPAN><SPAN 
lang=EN-US>fread</SPAN><SPAN style="FONT-FAMILY: 宋体">、</SPAN><SPAN 
lang=EN-US>fwrite</SPAN><SPAN style="FONT-FAMILY: 宋体">、</SPAN><SPAN 
lang=EN-US>fclose</SPAN><SPAN style="FONT-FAMILY: 宋体">等函数也不要使用,用</SPAN><SPAN 
lang=EN-US>FS_Open</SPAN><SPAN style="FONT-FAMILY: 宋体">、</SPAN><SPAN 
lang=EN-US>FS_Close</SPAN><SPAN style="FONT-FAMILY: 宋体">、</SPAN><SPAN 
lang=EN-US>FS_Read</SPAN><SPAN style="FONT-FAMILY: 宋体">、</SPAN><SPAN 
lang=EN-US>FS_Write</SPAN><SPAN style="FONT-FAMILY: 宋体">等函数代替之。</SPAN></P>
<P class=MsoListParagraph 
style="MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt">&lt;!--[if 
!supportLists]--&gt;<SPAN lang=EN-US><SPAN>3.<SPAN 
style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp; 
</SPAN></SPAN></SPAN>&lt;!--[endif]--&gt;<SPAN 
style="FONT-FAMILY: 宋体">消息(事件)传递。</SPAN></P>
<P class=MsoListParagraph style="MARGIN-LEFT: 18pt; TEXT-INDENT: 0cm"><SPAN 
style="FONT-FAMILY: 宋体">手机上的消息要传给</SPAN><SPAN lang=EN-US>lua</SPAN><SPAN 
style="FONT-FAMILY: 宋体">,包括按键消息、</SPAN><SPAN lang=EN-US>timer</SPAN><SPAN 
style="FONT-FAMILY: 宋体">消息、</SPAN><SPAN lang=EN-US>socket</SPAN><SPAN 
style="FONT-FAMILY: 宋体">消息。</SPAN></P>
<P class=MsoListParagraph style="MARGIN-LEFT: 18pt; TEXT-INDENT: 0cm"><SPAN 
lang=EN-US><O:P>&nbsp; 
<DIV class=highlighter>
<OL class=highlighter-cpp>
  <LI><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;(*func)(</SPAN><SPAN 
  class=keyword>void</SPAN><SPAN>&nbsp;*pthis,</SPAN><SPAN 
  class=datatypes>int</SPAN><SPAN>&nbsp;evtType,&nbsp;</SPAN><SPAN 
  class=datatypes>UINT32</SPAN><SPAN>&nbsp;param1,&nbsp;</SPAN><SPAN 
  class=datatypes>UINT32</SPAN><SPAN>&nbsp;param2);</SPAN> 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -