Working-around-library-misfeatures.html 4.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
  2. <html>
  3. <!-- Created on December 10, 2012 by texi2html 1.82
  4. texi2html was written by:
  5. Lionel Cons <[email protected]> (original author)
  6. Karl Berry <[email protected]>
  7. Olaf Bachmann <[email protected]>
  8. and many others.
  9. Maintained by: Many creative people.
  10. Send bugs and suggestions to <[email protected]>
  11. -->
  12. <head>
  13. <title>avram - a virtual machine code interpreter: 3.9.3 Working around library misfeatures</title>
  14. <meta name="description" content="avram - a virtual machine code interpreter: 3.9.3 Working around library misfeatures">
  15. <meta name="keywords" content="avram - a virtual machine code interpreter: 3.9.3 Working around library misfeatures">
  16. <meta name="resource-type" content="document">
  17. <meta name="distribution" content="global">
  18. <meta name="Generator" content="texi2html 1.82">
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  20. <style type="text/css">
  21. <!--
  22. a.summary-letter {text-decoration: none}
  23. blockquote.smallquotation {font-size: smaller}
  24. pre.display {font-family: serif}
  25. pre.format {font-family: serif}
  26. pre.menu-comment {font-family: serif}
  27. pre.menu-preformatted {font-family: serif}
  28. pre.smalldisplay {font-family: serif; font-size: smaller}
  29. pre.smallexample {font-size: smaller}
  30. pre.smallformat {font-family: serif; font-size: smaller}
  31. pre.smalllisp {font-size: smaller}
  32. span.roman {font-family:serif; font-weight:normal;}
  33. span.sansserif {font-family:sans-serif; font-weight:normal;}
  34. ul.toc {list-style: none}
  35. -->
  36. </style>
  37. </head>
  38. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  39. <a name="Working-around-library-misfeatures"></a>
  40. <table cellpadding="1" cellspacing="1" border="0">
  41. <tr><td valign="middle" align="left">[<a href="Implementing-new-library-functions.html#Implementing-new-library-functions" title="Previous section in reading order"> &lt; </a>]</td>
  42. <td valign="middle" align="left">[<a href="Inept-excess-verbiage.html#Inept-excess-verbiage" title="Next section in reading order"> &gt; </a>]</td>
  43. <td valign="middle" align="left"> &nbsp; </td>
  44. <td valign="middle" align="left">[<a href="Library-Reference.html#Library-Reference" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
  45. <td valign="middle" align="left">[<a href="External-Library-Maintenance.html#External-Library-Maintenance" title="Up section"> Up </a>]</td>
  46. <td valign="middle" align="left">[<a href="Character-Table.html#Character-Table" title="Next chapter"> &gt;&gt; </a>]</td>
  47. <td valign="middle" align="left"> &nbsp; </td>
  48. <td valign="middle" align="left"> &nbsp; </td>
  49. <td valign="middle" align="left"> &nbsp; </td>
  50. <td valign="middle" align="left"> &nbsp; </td>
  51. <td valign="middle" align="left">[<a href="avram.html#Top" title="Cover (top) of document">Top</a>]</td>
  52. <td valign="middle" align="left">[<a href="avram_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
  53. <td valign="middle" align="left">[<a href="Function-Index.html#Function-Index" title="Index">Index</a>]</td>
  54. <td valign="middle" align="left">[<a href="avram_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
  55. </tr></table>
  56. <hr size="1">
  57. <a name="Working-around-library-misfeatures-1"></a>
  58. <h3 class="subsection">3.9.3 Working around library misfeatures</h3>
  59. <p>As mentioned already (<a href="Implementing-new-library-functions.html#Implementing-new-library-functions">Implementing new library functions</a>), some
  60. common problems with external libraries that are worthwhile in other
  61. respects are that they may generate unwelcome console output while
  62. running, they may follow ill defined memory management policies, and
  63. they may handle exceptions just by crashing themselves along with the
  64. client module.
  65. </p>
  66. <p>An accumulation of techniques for coping with these issues (short of
  67. modifying the library source) has been collected into the API and made
  68. available by way of the header file &lsquo;<tt>mwrap.h</tt>&rsquo;. This section
  69. briefly documents how they might be put to use.
  70. </p>
  71. <table class="menu" border="0" cellspacing="0">
  72. <tr><td align="left" valign="top"><a href="Inept-excess-verbiage.html#Inept-excess-verbiage">3.9.3.1 Inept excess verbiage</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  73. </td></tr>
  74. <tr><td align="left" valign="top"><a href="Memory-leaks.html#Memory-leaks">3.9.3.2 Memory leaks</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  75. </td></tr>
  76. <tr><td align="left" valign="top"><a href="Suicidal-exception-handling.html#Suicidal-exception-handling">3.9.3.3 Suicidal exception handling</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  77. </td></tr>
  78. </table>
  79. <hr size="1">
  80. <p>
  81. <font size="-1">
  82. This document was generated on <i>December 10, 2012</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html 1.82</i></a>.
  83. </font>
  84. <br>
  85. </p>
  86. </body>
  87. </html>