<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Stack Overflow &#187; Keil</title>
	<atom:link href="http://embeddedgurus.com/stack-overflow/tag/keil/feed/" rel="self" type="application/rss+xml" />
	<link>http://embeddedgurus.com/stack-overflow</link>
	<description>Thoughts on embedded systems by Nigel Jones</description>
	<lastBuildDate>Sun, 25 Mar 2012 12:30:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Is GCC a &#8216;good&#8217; compiler?</title>
		<link>http://embeddedgurus.com/stack-overflow/2010/02/is-gcc-a-good-compiler/</link>
		<comments>http://embeddedgurus.com/stack-overflow/2010/02/is-gcc-a-good-compiler/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 02:20:00 +0000</pubDate>
		<dc:creator>Nigel Jones</dc:creator>
				<category><![CDATA[Compilers / Tools]]></category>
		<category><![CDATA[Compilers]]></category>
		<category><![CDATA[GCC]]></category>
		<category><![CDATA[IAR]]></category>
		<category><![CDATA[Keil]]></category>
		<category><![CDATA[Rowley]]></category>

		<guid isPermaLink="false">http://www.gfcdev.org/test-stack/2010/02/02/is-gcc-a-good-compiler/</guid>
		<description><![CDATA[It seems that barely a month goes by when I&#8217;m not asked my opinion on compilers. Sometimes I&#8217;m simply asked what compilers I use, while other times I&#8217;m asked my opinion on specific compilers &#8211; with GCC being by far the most asked about compiler. I&#8217;ve resisted writing about this topic because quite frankly it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>It seems that barely a month goes by when I&#8217;m not asked my opinion on compilers. Sometimes I&#8217;m simply asked what compilers I use, while other times I&#8217;m asked my opinion on specific compilers &#8211; with GCC being by far the most asked about compiler. I&#8217;ve resisted writing about this topic because quite frankly it&#8217;s the sort of topic that people get very passionate about &#8211; and by passionate I mean frothing at the mouth passionate. It seems that some folks simply can&#8217;t accept the fact that someone doesn&#8217;t agree with them that XYZ is simply the best compiler ever. Notwithstanding this, the volume of inquiries has reached the point where I really feel the need to break my silence.</p>
<p>First of all lets make some general observations.</p>
<ol>
<li>Despite the fact that I&#8217;ve been doing this for nearly 30 years and also despite the fact that as a consultant I probably use a wider variety of compilers than someone that works for an employer, the simple fact is that I&#8217;ve only had cause to use in anger a limited number of compilers. Thus are Rowley compilers any good? Well their website is decent, the documentation is OK and the IDE very nice. However I&#8217;ve never built a real project with their tools and so I really don&#8217;t know whether Rowley compilers are any good.</li>
<li>Many vendors provide compilers for many targets. As such it&#8217;s a good bet that if their 8051 compiler is very good, then their ARM compiler is also likely to be excellent. However it isn&#8217;t a given. Thus while I whole heartedly endorse the Keil 8051 compiler, I have no opinion on their ARM compiler.</li>
<li>Compilers vary in price from &#8216;free&#8217; to &#8216;cheap&#8217; to &#8216;expensive&#8217; to &#8216;they have got to be joking&#8217;. I&#8217;ve put all of these costs in quotes, because as you&#8217;ll see below, one&#8217;s perspective on what constitutes &#8216;free&#8217; or &#8216;expensive&#8217; is not easily defined.</li>
</ol>
<p>So, enough with the preamble. Lets start with the &#8216;free&#8217; and &#8216;cheap&#8217; compilers, including GCC. Well for me the bottom line (literally) is that I can&#8217;t afford to use these compilers. The reason is quite simple. I&#8217;m a high priced consultant. I can charge high hourly rates in part because I have exceptionally high productivity. Part of the way I achieve my high productivity is by not wasting my time (and hence my client&#8217;s money) on stupid issues unrelated to the problem at hand. Given that a compiler / linker is such a frequently used tool, and given that I&#8217;m also the sort of engineer who pushes his tools hard, it&#8217;s absolutely essential to me that when I run into a compiler issue I can pick up the phone and get an intelligent response ASAP. One simply can&#8217;t do that with &#8216;free&#8217; or &#8216;cheap&#8217; compilers, and thus too often one is reduced to browsing the Internet to find the solution to a problem. When this happens, then my &#8216;free&#8217; compiler rapidly starts to cost an arm and a leg.</p>
<p>What always amazes me about this topic is that so few employers / engineers seem to understand this. It seems that too many folks will eschew paying $2000 for a compiler &#8211; and then happily let their engineers bang their heads against a problem for a week &#8211; at a rate of at least $1000 a day.</p>
<p>Thus for me, the answer to the question &#8216;Is GCC a good compiler?&#8217; is &#8216;no, it isn&#8217;t&#8217;. Of course if you are a student, or indeed anyone who is cash poor and time rich, then by all means use GCC. I&#8217;m sure you&#8217;ll be very pleased with the results and that you&#8217;ll find it to be a good compiler for you.</p>
<p>What then of the &#8216;expensive&#8217; and they &#8216;have got to be joking&#8217; categories? Rather interestingly, although based on limited experience, I&#8217;ve found that the very expensive compiler vendors ($10K+) also have lousy support. Instead it&#8217;s the &#8216;expensive&#8217; vendors that actually seem to offer the best combination of functionality, code quality, support and price &#8211; and it&#8217;s this category that I tend to use the most.</p>
<p>Finally, regarding which compiler vendor I use. I happen to be a fan of IAR compilers. I&#8217;ve always found their code quality to be at least &#8216;good&#8217;. Their linker is probably the easiest and most powerful  linker I&#8217;ve ever used. Their support is very good (thanks Steve <img src='http://embeddedgurus.com/stack-overflow/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ). Finally their IDE is easy to use and has a very consistent look and feel across a wide range of processors, which is important to me as I tend to switch between architectures a lot.</p>
<p><a href="http://www.embeddedgurus.com/stack-overflow/">Home</a></p>
]]></content:encoded>
			<wfw:commentRss>http://embeddedgurus.com/stack-overflow/2010/02/is-gcc-a-good-compiler/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

