EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

C++ support in ARMCC (Keil) compiler/toolchain ?

Started by Dave Nadler March 29, 2010
Hi All - Can anybody provide any comments on the
C++ support in the Keil compiler (ARM7 target) ?
Specifically:
- completeness (though libstdc++ is not interesting for us)
- robustness

Thanks in advance,
Best Regards, Dave

PS: email me off-group if you like...
On Mar 29, 11:01=A0am, Dave Nadler <d...@nadler.com> wrote:
> Hi All - Can anybody provide any comments on the > C++ support in the Keil compiler (ARM7 target) ? > Specifically: > - completeness (though libstdc++ is not interesting for us) > - robustness > > Thanks in advance, > Best Regards, Dave > > PS: email me off-group if you like...
Last time I checked, the Keil chain was a commercialized version of the GNU compiler. When I do embedded C++, I get GCC from GNU and build it for my target. I've never had that take more than 1/2 a day. The ARM is a very well supported target in the GCC tool chain. RK RK
d_s_klein wrote:
> Last time I checked, the Keil chain was a commercialized version of > the GNU compiler.
Then either your check was rather completely flawed, or your memory is. Keil _tolerates_ people using GCC as a compiler for ARM projects within their IDE to some extent, but that's about all the relation they ever had to GNU tools. Keil had their own C compiler for ARMs, but that was basically abandoned after ARM took over Keil a while ago. Nowadays, the Keil ARM compiler is ARM's own one.
On Mar 30, 3:06=A0pm, Hans-Bernhard Br=F6ker <HBBroe...@t-online.de>
wrote:
> d_s_klein wrote: > > Last time I checked, the Keil chain was a commercialized version of > > the GNU compiler. > > Then either your check was rather completely flawed, or your memory is. >
I've forgotten things, and made mistakes before. Any idea what I should be doing with the .tgz file I downloaded from keil.com? The one that they were required to publish because of the GPL code in their ARM compiler? Regards, RK.
On Mar 31, 12:54=A0pm, d_s_klein <d_s_kl...@yahoo.com> wrote:
> On Mar 30, 3:06=A0pm, Hans-Bernhard Br=F6ker <HBBroe...@t-online.de> > wrote: > > > d_s_klein wrote: > > > Last time I checked, the Keil chain was a commercialized version of > > > the GNU compiler. > > > Then either your check was rather completely flawed, or your memory is. > > I've forgotten things, and made mistakes before. > > Any idea what I should be doing with the .tgz file I downloaded from > keil.com? =A0The one that they were required to publish because of the > GPL code in their ARM compiler? > > Regards, > RK.
While I'm waiting for the Keil folks to call back, I'd sure appreciate any feedback from folks with C++ experience using the current Keil product... Thanks ! Best Regards, Dave
On Mar 30, 12:12=A0pm, d_s_klein <d_s_kl...@yahoo.com> wrote:
> Last time I checked, the Keil chain was a commercialized version of > the GNU compiler.
No, it is their own implementation, and is not based on GCC. They claim C++ is validated with Plum-Hall, but do not publish the test results. ARM publishes the same compiler with additional chips supported in a different package, but it is still based on the proprietary Keil compiler and not GCC. Hope that clears it up a bit, Best Regards, Dave
On 3/31/2010 12:53 PM, Dave Nadler wrote:
> On Mar 31, 12:54 pm, d_s_klein<d_s_kl...@yahoo.com> wrote: >> On Mar 30, 3:06 pm, Hans-Bernhard Br&#4294967295;ker<HBBroe...@t-online.de> >> wrote: >> >>> d_s_klein wrote: >>>> Last time I checked, the Keil chain was a commercialized version of >>>> the GNU compiler. >> >>> Then either your check was rather completely flawed, or your memory is. >> >> I've forgotten things, and made mistakes before. >> >> Any idea what I should be doing with the .tgz file I downloaded from >> keil.com? The one that they were required to publish because of the >> GPL code in their ARM compiler? >> >> Regards, >> RK. > > While I'm waiting for the Keil folks to call back, > I'd sure appreciate any feedback from folks > with C++ experience using the current Keil > product... > > Thanks ! > Best Regards, Dave
Are there any web sites available that compares the amount of overhead C++ carries compared to just plain C ? hamilton
hamilton wrote:
> Are there any web sites available that compares the amount of overhead > C++ carries compared to just plain C ?
In what context? I.e., if you "write C in C++" what overhead did you anticipate? I've often wanted to recode an existing project in C (or C++) to compare the overall size/speed/etc. with C++ (or C). But, even that wold be an unfair comparison as you (at least, *I*) approach designs in C (C++) differently than I do in C++ (C).
On 3/31/2010 7:11 PM, D Yuniskis wrote:
> hamilton wrote: >> Are there any web sites available that compares the amount of overhead >> C++ carries compared to just plain C ? > > In what context? I.e., if you "write C in C++" what > overhead did you anticipate? > > I've often wanted to recode an existing project in C (or C++) > to compare the overall size/speed/etc. with C++ (or C). > But, even that wold be an unfair comparison as you (at least, *I*) > approach designs in C (C++) differently than I do in C++ (C).
Yes, good point. Most new "embedded programmers" are from the desktop world. I would like to know, as you stated, what would be the overhead for the same program using C++ constructs. By your comment, I doubt too many programmers know that there is a difference. I'll look over the Keil web site and see if there is anything there. thanks hamilton
On Apr 1, 1:24=A0am, hamilton <hamil...@nothere.com> wrote:
> On 3/31/2010 7:11 PM, D Yuniskis wrote: > > > hamilton wrote: > >> Are there any web sites available that compares the amount of overhead > >> C++ carries compared to just plain C ? > > > In what context? I.e., if you "write C in C++" what > > overhead did you anticipate? > > > I've often wanted to recode an existing project in C (or C++) > > to compare the overall size/speed/etc. with C++ (or C). > > But, even that wold be an unfair comparison as you (at least, *I*) > > approach designs in C (C++) differently than I do in C++ (C). > > Yes, good point. > > Most new "embedded programmers" are from the desktop world. > > I would like to know, as you stated, what would be the overhead for the > same program using C++ constructs. > > By your comment, I doubt too many programmers know that there is a > difference. > > I'll look over the Keil web site and see if there is anything there. > > thanks > > hamilton
Comparing C and C++ is a bit of apples and oranges. Properly written C++ can reduce source code size, reduce execution size and time, improve maintainability. Bad C++ is vastly more horrid than bad C, which can be horrid. Use of C++ by the inexperienced is usually scary. And you'll be unpleasantly surprised if you say accidentally drag in the C++ library functions for stream IO into a small micro... Hope that helps ! Best Regards, Dave PS: If anybody knows of a well-written doc discussing C++ for embedded in depth, we'd be much obliged !

The 2024 Embedded Online Conference