2021-07-03 05:07:57 +01:00
|
|
|
<!DOCTYPE HTML>
|
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta http-equiv="Content-Type" content="text/html;charset=US-ASCII">
|
2021-09-22 04:45:45 +01:00
|
|
|
<meta name="generator" content="ZealOS V1.01">
|
2021-07-03 05:07:57 +01:00
|
|
|
<style type="text/css">
|
2021-07-29 03:20:15 +01:00
|
|
|
body {background-color:#fef1f0;}
|
|
|
|
.cF0{color:#000000;background-color:#fef1f0;}
|
|
|
|
.cF1{color:#0148a4;background-color:#fef1f0;}
|
|
|
|
.cF2{color:#3b7901;background-color:#fef1f0;}
|
|
|
|
.cF3{color:#057c7e;background-color:#fef1f0;}
|
|
|
|
.cF4{color:#bb2020;background-color:#fef1f0;}
|
|
|
|
.cF5{color:#9e42ae;background-color:#fef1f0;}
|
|
|
|
.cF6{color:#b57901;background-color:#fef1f0;}
|
|
|
|
.cF7{color:#b2b6af;background-color:#fef1f0;}
|
|
|
|
.cF8{color:#555753;background-color:#fef1f0;}
|
|
|
|
.cF9{color:#678fbb;background-color:#fef1f0;}
|
|
|
|
.cFA{color:#82bc49;background-color:#fef1f0;}
|
|
|
|
.cFB{color:#0097a2;background-color:#fef1f0;}
|
|
|
|
.cFC{color:#e26a6a;background-color:#fef1f0;}
|
|
|
|
.cFD{color:#c671bc;background-color:#fef1f0;}
|
|
|
|
.cFE{color:#c7ab00;background-color:#fef1f0;}
|
|
|
|
.cFF{color:#fef1f0;background-color:#fef1f0;}
|
2021-07-03 05:07:57 +01:00
|
|
|
</style>
|
|
|
|
</head>
|
|
|
|
<body>
|
2021-07-05 01:12:38 +01:00
|
|
|
<pre style="font-family:monospace;font-size:12pt">
|
Rename abs_addres to abs_address.
Update documentation/comments to rename addr, fun, var, stmt, blk, desc, reg, seg, ptr, dup, clus, val, and bttn, to address, function, variable, statement, block, description, register, segment, pointer, duplicate, cluster, value, and button, respectively.
2021-10-07 02:35:32 +01:00
|
|
|
<a name="l1"></a><span class=cF2>//Demonstrates dynamic initialization of variables.</span><span class=cF0>
|
|
|
|
<a name="l2"></a></span><span class=cF2>//Static variables are, essentually, global variables.</span><span class=cF0>
|
2021-07-03 05:07:57 +01:00
|
|
|
<a name="l3"></a>
|
|
|
|
<a name="l4"></a></span><span class=cF1>class</span><span class=cF0> Test
|
|
|
|
<a name="l5"></a>{
|
2021-07-04 23:11:34 +01:00
|
|
|
<a name="l6"></a> </span><span class=cF9>I32</span><span class=cF0> time;
|
|
|
|
<a name="l7"></a> </span><span class=cF1>U8</span><span class=cF0> name[</span><span class=cFE>8</span><span class=cF0>];
|
2021-07-03 05:07:57 +01:00
|
|
|
<a name="l8"></a>};
|
|
|
|
<a name="l9"></a>
|
|
|
|
<a name="l10"></a>Test g1[] = {
|
2021-07-04 23:11:34 +01:00
|
|
|
<a name="l11"></a> </span><span class=cF7>{</span><span class=cFE>10</span><span class=cF0>, </span><span class=cF6>"Name1"</span><span class=cF7>}</span><span class=cF0>,
|
|
|
|
<a name="l12"></a> </span><span class=cF7>{</span><span class=cF0>(</span><span class=cF5>tS</span><span class=cF0> % </span><span class=cFE>10</span><span class=cF0>.</span><span class=cFE>0</span><span class=cF0>) * </span><span class=cFE>100</span><span class=cF0>, </span><span class=cF6>"Name2"</span><span class=cF7>}</span><span class=cF0>, </span><span class=cF2>//Dynamic initialization</span><span class=cF0>
|
|
|
|
<a name="l13"></a> </span><span class=cF7>{</span><span class=cFE>30</span><span class=cF0>, </span><span class=cF6>"Name3"</span><span class=cF7>}</span><span class=cF0>
|
2021-07-03 05:07:57 +01:00
|
|
|
<a name="l14"></a>};
|
|
|
|
<a name="l15"></a>
|
|
|
|
<a name="l16"></a></span><span class=cF5>D</span><span class=cF0>(g1, </span><span class=cF1>sizeof</span><span class=cF7>(</span><span class=cF0>g1</span><span class=cF7>)</span><span class=cF0>);
|
|
|
|
<a name="l17"></a></span><span class=cF6>"Time 1:%d\n"</span><span class=cF0>, g1[</span><span class=cFE>1</span><span class=cF0>].time;
|
|
|
|
<a name="l18"></a>
|
|
|
|
<a name="l19"></a></span><span class=cF1>U0</span><span class=cF0> Main1()
|
|
|
|
<a name="l20"></a>{
|
2021-07-04 23:11:34 +01:00
|
|
|
<a name="l21"></a> </span><span class=cF1>static</span><span class=cF0> Test s1[] = </span><span class=cF7>{</span><span class=cF0>
|
|
|
|
<a name="l22"></a> {</span><span class=cFE>10</span><span class=cF0>, </span><span class=cF6>"Static1"</span><span class=cF0>},
|
|
|
|
<a name="l23"></a> {(</span><span class=cF5>tS</span><span class=cF0> % </span><span class=cFE>10</span><span class=cF0>.</span><span class=cFE>0</span><span class=cF0>) * </span><span class=cFE>100</span><span class=cF0>, </span><span class=cF6>"Static2"</span><span class=cF0>}, </span><span class=cF2>//Dynamic initialization</span><span class=cF0>
|
|
|
|
<a name="l24"></a> {</span><span class=cFE>30</span><span class=cF0>, </span><span class=cF6>"Static3"</span><span class=cF0>}
|
|
|
|
<a name="l25"></a> </span><span class=cF7>}</span><span class=cF0>;
|
|
|
|
<a name="l26"></a> </span><span class=cF5>D</span><span class=cF0>(s1, </span><span class=cF1>sizeof</span><span class=cF7>(</span><span class=cF0>s1</span><span class=cF7>)</span><span class=cF0>);
|
|
|
|
<a name="l27"></a> </span><span class=cF6>"Time 2:%d\n"</span><span class=cF0>, s1[</span><span class=cFE>1</span><span class=cF0>].time;
|
2021-07-03 05:07:57 +01:00
|
|
|
<a name="l28"></a>}
|
|
|
|
<a name="l29"></a>
|
|
|
|
<a name="l30"></a>Main1;
|
|
|
|
<a name="l31"></a>
|
|
|
|
<a name="l32"></a></span><span class=cF2>/*Now, we'll use the data heap global option</span><span class=cF0>
|
Rename abs_addres to abs_address.
Update documentation/comments to rename addr, fun, var, stmt, blk, desc, reg, seg, ptr, dup, clus, val, and bttn, to address, function, variable, statement, block, description, register, segment, pointer, duplicate, cluster, value, and button, respectively.
2021-10-07 02:35:32 +01:00
|
|
|
<a name="l33"></a></span><span class=cF2>to force global variables onto the data heap.</span><span class=cF0>
|
2021-07-03 05:07:57 +01:00
|
|
|
<a name="l34"></a>
|
|
|
|
<a name="l35"></a></span><span class=cF2>You can turn the data heap flag</span><span class=cF0>
|
|
|
|
<a name="l36"></a></span><span class=cF2>on and off within your programs, leaving</span><span class=cF0>
|
|
|
|
<a name="l37"></a></span><span class=cF2>ones which need initialization on the code heap.</span><span class=cF0>
|
|
|
|
<a name="l38"></a>
|
|
|
|
<a name="l39"></a></span><span class=cF2>You can't dynamically initialize data heap</span><span class=cF0>
|
|
|
|
<a name="l40"></a></span><span class=cF2>globals--they are consts. This might be a silly</span><span class=cF0>
|
|
|
|
<a name="l41"></a></span><span class=cF2>point, but might res in odd differences, perhaps</span><span class=cF0>
|
|
|
|
<a name="l42"></a></span><span class=cF2>from the order things are evaluated.</span><span class=cF0>
|
|
|
|
<a name="l43"></a>
|
|
|
|
<a name="l44"></a></span><span class=cF2>Data heap globals are good for AOT modules</span><span class=cF0>
|
|
|
|
<a name="l45"></a></span><span class=cF2>because they don't take-up room in the .BIN file.</span><span class=cF0>
|
|
|
|
<a name="l46"></a></span><span class=cF2>*/</span><span class=cF0>
|
|
|
|
<a name="l47"></a>
|
|
|
|
<a name="l48"></a>#</span><span class=cF1>ifjit</span><span class=cF0>
|
|
|
|
<a name="l49"></a>#</span><span class=cF1>exe</span><span class=cF0> {</span><span class=cF5>Option</span><span class=cF0>(</span><span class=cF3>OPTf_GLOBALS_ON_DATA_HEAP</span><span class=cF0>, </span><span class=cF3>ON</span><span class=cF0>);};
|
|
|
|
<a name="l50"></a>
|
|
|
|
<a name="l51"></a>Test g2[] = {
|
2021-07-04 23:11:34 +01:00
|
|
|
<a name="l52"></a> </span><span class=cF7>{</span><span class=cFE>10</span><span class=cF0>, </span><span class=cF6>"name1"</span><span class=cF7>}</span><span class=cF0>,
|
|
|
|
<a name="l53"></a> </span><span class=cF7>{</span><span class=cF0>(</span><span class=cF5>tS</span><span class=cF0> % </span><span class=cFE>10</span><span class=cF0>.</span><span class=cFE>0</span><span class=cF0>) * </span><span class=cFE>100</span><span class=cF0>, </span><span class=cF6>"name2"</span><span class=cF7>}</span><span class=cF0>, </span><span class=cF2>//No dynamic initialization--converted to const</span><span class=cF0>
|
|
|
|
<a name="l54"></a> </span><span class=cF7>{</span><span class=cFE>30</span><span class=cF0>, </span><span class=cF6>"name3"</span><span class=cF7>}</span><span class=cF0>
|
2021-07-03 05:07:57 +01:00
|
|
|
<a name="l55"></a>};
|
|
|
|
<a name="l56"></a>
|
|
|
|
<a name="l57"></a></span><span class=cF5>D</span><span class=cF0>(g2, </span><span class=cF1>sizeof</span><span class=cF7>(</span><span class=cF0>g2</span><span class=cF7>)</span><span class=cF0>);
|
|
|
|
<a name="l58"></a></span><span class=cF6>"Time 3:%d\n"</span><span class=cF0>, g2[</span><span class=cFE>1</span><span class=cF0>].time;
|
|
|
|
<a name="l59"></a>
|
|
|
|
<a name="l60"></a></span><span class=cF1>U0</span><span class=cF0> Main2()
|
|
|
|
<a name="l61"></a>{
|
2021-07-04 23:11:34 +01:00
|
|
|
<a name="l62"></a> </span><span class=cF1>static</span><span class=cF0> Test s2[] = </span><span class=cF7>{</span><span class=cF0>
|
|
|
|
<a name="l63"></a> {</span><span class=cFE>10</span><span class=cF0>, </span><span class=cF6>"static1"</span><span class=cF0>},
|
|
|
|
<a name="l64"></a> {(</span><span class=cF5>tS</span><span class=cF0> % </span><span class=cFE>10</span><span class=cF0>.</span><span class=cFE>0</span><span class=cF0>) * </span><span class=cFE>100</span><span class=cF0>, </span><span class=cF6>"static2"</span><span class=cF0>}, </span><span class=cF2>//No dynamic initialization--converted to const</span><span class=cF0>
|
|
|
|
<a name="l65"></a> {</span><span class=cFE>30</span><span class=cF0>, </span><span class=cF6>"static3"</span><span class=cF0>}
|
|
|
|
<a name="l66"></a> </span><span class=cF7>}</span><span class=cF0>;
|
|
|
|
<a name="l67"></a> </span><span class=cF5>D</span><span class=cF0>(s2, </span><span class=cF1>sizeof</span><span class=cF7>(</span><span class=cF0>s2</span><span class=cF7>)</span><span class=cF0>);
|
|
|
|
<a name="l68"></a> </span><span class=cF6>"Time 4:%d\n"</span><span class=cF0>, s2[</span><span class=cFE>1</span><span class=cF0>].time;
|
2021-07-03 05:07:57 +01:00
|
|
|
<a name="l69"></a>}
|
|
|
|
<a name="l70"></a>
|
|
|
|
<a name="l71"></a>Main2;
|
|
|
|
<a name="l72"></a>
|
|
|
|
<a name="l73"></a>#</span><span class=cF1>exe</span><span class=cF0> {</span><span class=cF5>Option</span><span class=cF0>(</span><span class=cF3>OPTf_GLOBALS_ON_DATA_HEAP</span><span class=cF0>, </span><span class=cF3>ON</span><span class=cF0>);};
|
|
|
|
<a name="l74"></a>#</span><span class=cF1>endif</span><span class=cF0>
|
|
|
|
<a name="l75"></a>
|
|
|
|
<a name="l76"></a></span><span class=cF6>'\n'</span><span class=cF0>;
|
|
|
|
</span></pre></body>
|
|
|
|
</html>
|