<div dir="ltr"><div>As a semi-regular supplier of code to NASA , I can assure you that this is aspiration. not reality.</div><div><br></div><div>I think there is a middle path with heap usage which seems to be what most organisations like NASA and Boeing etc really strive for and that is to only use the heap for once-off allocations at start up. This allows the creation of data structures at start up that were not known at compile time.</div><div>Some RTOSs have a nifty feature which allows malloc() to be turned off once your program is up and running.</div><div><br></div><div>It is a bit easy to get draconian with rules. For example, recursion is often the simplest and cleanest way to handle a problem and concerning a recursive function to be non-recursive can often be hard and buggy - making the code challenging to understand. Like with looping code, one solution is to put an upper bound on recursive depth by passing a depth argument:<br><br></div><div>int recursive(int x, int depth)</div><div>{</div><div>  if (depth < 1)</div><div>     return -1; // ran out of depth<br></div><div> else {</div><div>     depth = depth -1;</div><div>    return recursive(...,depth);</div><div> }<br></div><div>}<br></div><div><br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Aug 29, 2023 at 6:45 AM Mark Atherton <<a href="mailto:markaren1@xtra.co.nz">markaren1@xtra.co.nz</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><a href="https://www.youtube.com/watch?v=GWYhtksrmhE" rel="noreferrer" target="_blank">https://www.youtube.com/watch?v=GWYhtksrmhE</a><br>
<br>
Finally someone who agrees with me that the heap is a heap-bad-thing :)<br>
<br>
Huge piles of common sense, and observations about static analysis.<br>
<br>
-Mark<br>
<br>
<hiding under bench><br>
<br>
<br>
<br>
_______________________________________________<br>
Chchrobotics mailing list <a href="mailto:Chchrobotics@lists.ourshack.com" target="_blank">Chchrobotics@lists.ourshack.com</a><br>
<a href="https://lists.ourshack.com/mailman/listinfo/chchrobotics" rel="noreferrer" target="_blank">https://lists.ourshack.com/mailman/listinfo/chchrobotics</a><br>
Mail Archives: <a href="http://lists.ourshack.com/pipermail/chchrobotics/" rel="noreferrer" target="_blank">http://lists.ourshack.com/pipermail/chchrobotics/</a><br>
Meetings usually 3rd Monday each month. See <a href="http://kiwibots.org" rel="noreferrer" target="_blank">http://kiwibots.org</a> for venue, directions and dates.<br>
When replying, please edit your Subject line to reflect new subjects.</blockquote></div>