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

📄 ch01s01.html

📁 优秀的java程序开发软件方式与方法,对大家开发程序的时候有指导性帮助
💻 HTML
字号:
<html><head>      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">   <title>1.&nbsp;&#31616;&#21333;&#30340;CPS&#20363;&#23376;</title><link rel="stylesheet" href="html.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.69.1"><link rel="start" href="index.html" title="Java&#32593;&#32476;&#31243;&#24207;&#21592;&#30475;Continuation"><link rel="up" href="ch01.html" title="Chapter&nbsp;1.&nbsp;CPS&#19982;&#32593;&#32476;&#31243;&#24207;&#27969;&#31243;&#25511;&#21046;"><link rel="prev" href="ch01.html" title="Chapter&nbsp;1.&nbsp;CPS&#19982;&#32593;&#32476;&#31243;&#24207;&#27969;&#31243;&#25511;&#21046;"><link rel="next" href="ch01s02.html" title="2.&nbsp;CPS&#29468;&#25968;&#23383;&#28216;&#25103;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">1.&nbsp;&#31616;&#21333;&#30340;CPS&#20363;&#23376;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;1.&nbsp;CPS&#19982;&#32593;&#32476;&#31243;&#24207;&#27969;&#31243;&#25511;&#21046;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch01s02.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e46"></a>1.&nbsp;&#31616;&#21333;&#30340;CPS&#20363;&#23376;</h2></div></div></div><p>&#25105;&#20204;&#39318;&#20808;&#26469;&#30475;&#19968;&#20010;&#20363;&#23376;&#12290;&#24744;&#33021;&#30475;&#20986;&#19979;&#38754;&#30340;&#20004;&#20010;C&#31243;&#24207;&#26159;&#31561;&#20215;&#30340;&#21527;&#65311;</p><pre class="programlisting">/* normal style &#19968;&#33324;&#39118;&#26684; */#include &lt;stdio.h&gt;int add(int i, int j) {    return i + j;}void main() {    int i = add(3, 5);    printf("%d\n", i);}/*************************************//* continuation-passing style (CPS) */#include &lt;stdio.h&gt;int add(int i, int j, void *continuation(int)) {    int k = i + j;    continuation(k);}void print(int i) {    printf("%d\n", i);}void main() {    add(3, 5, print);}</pre><p>&#31532;&#19968;&#20010;C&#31243;&#24207;&#26159;&#29992;&#25105;&#20204;&#37117;&#29087;&#24713;&#30340;&#32467;&#26500;&#20889;&#30340;&#65292;&#23427;&#36827;&#34892;&#20004;&#27493;&#25805;&#20316;&#65292;&#39318;&#20808;add&#65292;&#28982;&#21518;printf&#12290;&#22914;&#26524;&#36816;&#34892;&#36825;&#20010;&#31243;&#24207;&#65292;&#25105;&#20204;&#23601;&#20250;&#24471;&#21040;&#31572;&#26696;&#65304;&#12290;&#31532;&#20108;&#20010;&#31243;&#24207;&#23601;&#26377;&#20123;&#22855;&#24618;&#20102;&#12290;&#23427;&#20063;&#36827;&#34892;&#20004;&#27493;&#25805;&#20316;&#65292;add&#21644;print&#12290;&#19981;&#36807;&#22312;main&#37324;&#65292;&#25105;&#20204;&#21482;&#35843;&#29992;add&#65292;&#21516;&#26102;&#25105;&#20204;&#25226;print&#20316;&#20026;&#19968;&#20010;&#21442;&#25968;&#20256;&#36882;&#32473;add&#12290;&#22312;add&#20989;&#25968;&#37324;&#65292;&#25105;&#20204;&#39318;&#20808;&#36827;&#34892;&#21152;&#27861;&#36816;&#31639;&#65292;&#19981;&#36807;add&#19981;&#20250;&#36820;&#22238;&#65292;&#32780;&#26159;&#30452;&#25509;&#35843;&#29992;&#33258;&#24049;&#30340;&#31532;&#19977;&#20010;&#21442;&#25968;&#12290;&#24403;&#28982;&#65292;&#25105;&#20204;&#36827;&#34892;&#30340;&#36816;&#31639;&#26159;&#19968;&#26679;&#30340;&#65292;&#26368;&#21518;&#30340;&#32467;&#26524;&#20063;&#26159;&#19968;&#26679;&#30340; &#12290;</p><p>&#31532;&#20108;&#20010;&#31243;&#24207;&#23601;&#26159;&#29992;&#25152;&#35859;&#30340;continuation passing style (CPS)&#20889;&#30340;&#12290;&#22312;CPS&#20013;&#65292;&#20989;&#25968;&#19981;&#20250;&#36820;&#22238;&#65292;&#25152;&#26377;&#21097;&#19979;&#30340;&#25805;&#20316;&#34987;&#24403;&#20316;&#21442;&#25968;&#19968;&#27493;&#19968;&#27493;&#20256;&#19979;&#21435;&#12290;&#19979;&#38754;&#25105;&#20204;&#30475;&#19968;&#20010;&#36827;&#34892;&#19977;&#27493;&#25805;&#20316;&#30340;&#20363;&#23376;&#65306;</p><pre class="programlisting">#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;void step1();void step2();void step3();void add(int a, int b, void (*continuation)(int)) {    int c = a + b;    continuation(c);}void multiply(int a, int b,         void (*continuation)(int)) {    int c = a * b;    continuation(c);}void print(int a, void (*continuation)(void)) {    printf("%d\n", a);    continuation();}void nothing() {}void step1(int a) {    add(a, 2, step2);}void step2(int b) {    multiply(b, 3, step3);}void step3(int c) {    print(c, nothing);}void main() {    step1(5);}</pre><p>&#21069;&#38754;&#30340;&#20960;&#20010;&#20989;&#25968;&#65292;add&#65292;multiply&#65292;print&#65292;&#26159;&#20856;&#22411;&#30340;CPS&#20989;&#25968;&#12290;&#27880;&#24847;&#21040;add&#21644;multiply&#25152;&#25509;&#21463;&#30340;continuation&#30340;&#22768;&#26126;&#26159;void (*continuation)(int)&#32780;print&#25152;&#25509;&#21463;&#30340;continuation&#30340;&#22768;&#26126;&#26159;void (*continuation)(void)&#12290;&#24819;&#24819;&#36825;&#26159;&#20026;&#20160;&#20040;&#65311;&#21518;&#38754;&#30340;&#20960;&#20010;&#20989;&#25968;&#65292;step1&#65292;step2&#65292;step3&#21644;nothing&#65292;&#21017;&#23450;&#20041;&#20102;&#31243;&#24207;&#30340;&#19968;&#20010;&#25509;&#19968;&#20010;&#27493;&#39588;&#65307;&#27599;&#20010;step&#25226;&#19979;&#19968;&#20010;step&#20316;&#20026;continuation&#20256;&#19979;&#21435;&#12290;&#26368;&#21518;&#65292;&#22312;main()&#37324;&#65292;&#25105;&#20204;&#21482;&#38656;&#35201;&#35843;&#29992;step1&#23601;&#34892;&#20102;&#12290;</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch01s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;1.&nbsp;CPS&#19982;&#32593;&#32476;&#31243;&#24207;&#27969;&#31243;&#25511;&#21046;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;2.&nbsp;CPS&#29468;&#25968;&#23383;&#28216;&#25103;</td></tr></table></div></body></html>

⌨️ 快捷键说明

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