    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
     <channel>
        <title>ACCU  :: Members' experiences</title>
        <link>https://members.accu.org/index.php/articles/1225</link>
        <description>Professionalism in Programming</description>
        <dc:language>en-us</dc:language> 
        <dc:creator>Administrator</dc:creator> 
        <admin:generatorAgent rdf:resource="http://www.xaraya.org" /> 
        <admin:errorReportsTo rdf:resource="mailto:webeditor@accu.org" />
       <sy:updatePeriod>hourly</sy:updatePeriod>
       <sy:updateFrequency>1</sy:updateFrequency>
       <docs>http://backend.userland.com/rss</docs>




<div class="xar-mod-head"><span class="xar-mod-title">CVu Journal Vol 15, #3 - Jun 2003</span></div>

<table border="0" cellpadding="1" cellspacing="0">
    <tbody>
    <tr>
        <td valign="top">
            Browse in :
       </td>
       <td valign="top">

                                            <a href="https://members.accu.org/index.php/articles/">All</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c76/">Journals</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c77/">CVu</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c108/">153</a>
<br />
</td>
   </tr>
   </tbody>
</table>




<div class="xar-error">
   <p>
 <strong>Note:</strong> when you create a new publication type,
the articles module will automatically use the templates
<em>user-display-[publicationtype].xt</em>
and <em>user-summary-[publicationtype].xt</em>.
If those templates do not exist when you try to preview or display a new article,
you'll get this warning :-)  Please place your own templates in themes/<em>yourtheme</em>/modules/articles . The templates will get the extension .xt there. </p>
</div>
<div class="xar-norm xar-standard-box-padding">
   <h1><strong>Title:</strong>&nbsp;Members' experiences</h1>
<p><strong>Author:</strong>&nbsp;</p>
<p>
<strong>Date:</strong> 03 June 2003 13:15:58 +01:00 or Tue, 03 June 2003 13:15:58 +01:00</p>
<p><strong>Summary:</strong>&nbsp;<p>TCC (Tiny C Compiler)</p></p>
<p><strong>Body:</strong>&nbsp;<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e22" id="d0e22"></a></h2>
</div>
<p>This is a very fast, small and new C compiler for Unix (e.g.
Linux), available from <a href=
"http://fabrice.bellard.free.fr/tcc/" target=
"_top">http://fabrice.bellard.free.fr/tcc/</a>. It compiles code
much more quickly than the GNU compiler, and it can be used as a
script interpreter with C as the scripting language (using the Unix
idiom of starting scripts with &quot;#!&quot;). Because TCC compiles very
rapidly, there is hardly any compiler overhead for small programs,
and the ability to directly execute the source file without having
to compile it first can be surprisingly convenient.</p>
<p>TCC supports modern C (for example, you can declare variables
just before they are used, rather than having to put the
declarations at the start of the block); using it to hack out
scripts is easier than one might imagine, especially for people who
have sometimes used C++ compilers in C-like ways just to avoid
having to do such things as forward declarations. The advantages
and disadvantages of C as a scripting language can of course be
debated (there are higher level scripting languages, such as
Python, which have their own advantages), but if you have a small
task that you know exactly how to do in C, then it might be quicker
just to write the C (as long as it doesn't get too messy or
unsafe).</p>
<p>Of course, TCC can also be used to compile larger projects, in
which case it will save a lot of compilation time. Occasionally it
will expose a bug in your Unix distribution, as sometimes the
provided standard libraries have only been thoroughly tested with
the provided compiler (such as GCC); if you use another compiler
then you might trip things up. For example, I found (and reported)
that GNU <tt class="literal">libc6</tt> is missing the <tt class=
"literal">alloca()</tt> function; the GNU compiler replaces it with
a built-in function. The header file does say that for non-GNU
compilers <tt class="literal">alloca()</tt> is defined externally,
but it wasn't included in my version of the library.</p>
<p>I wouldn't yet want to use TCC to compile such things as the
Linux kernel; I'd rather use the same compiler that the kernel
developers themselves use, just in case.</p>
<p>I also tried LWC, <a href=
"http://students.ceid.upatras.gr/~sxanth/lwc/" target=
"_top">http://students.ceid.upatras.gr/~sxanth/lwc/</a>, which
compiles a subset of C++ into C (and is linked to from the TCC
website). The version of LWC at the time of writing is 0.5, and it
couldn't yet compile any of my C++ code.</p>
</div>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
