Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2100] C++ Development

2003-12-23 by James Dabbs

> What exactly is it you need to do in C++?
> Are you working on hobby code or commercial code?

I understand that the use of C++ in embedded applications is controversial,
and I respect those who choose not to use it.  In fact, several people on
our staff do not see eye-to-eye with me on this point.  However, I
personally use it almost exclusively.  I probably have 8,000 lines of C++
code in service for the Atmel AVR -- not so-called 'eC++' but true C++ even
with templates and multiple inheritance and virtual functions.  These
features come at a cost, but if you have a complex problem to solve, I have
found that using OOD compiler features brings jobs to conclusion faster that
explicitly coding the equivalent in C.  Not everyone feels this way, but my
team completes projects on time using C++ so I get very little argument
outside of an occasional passing comment.  And yes we have analyzed our code
thoroughly.  The complex structures are more expensive to analyze and test
(and design) than the simple structures, but I don't see C bringing an
advantage over C++ here.. they are both awful.  Ideally, we'd prefer ADA,
and perhaps if we can really transition from AVR to ARM this may become a
possibility.

The one real increase in risk that I have run into with C++ is with
emulators and debugging environments.  Because C++ is not used as often as C
in the embedded arena, the source-level debugging support does not have the
testing history that C has.  I've gotten stuck in this mire and it CAN
severely impact effort and schedule... so this is why I ask for experience
here as well as sending questions directly to the tool vendors.

Thanks.

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.