Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
Oliver Sedlacek
07/11/12 20:48
Read: 571 times

#187908 - C++ "better than C" for embedded systems
Responding to: Jez Smith's previous message
I went to a seminar recently where a speaker gave a pretty decent talk explaining why he felt that C++ was often better than C for smallish embedded systems. Some key points that I remember are:

1. C++ new() and delete() may generate more code than malloc() and free(), but that's becuase they do more.

2. Using heap for dynamic storage is a bad idea in an embedded system regardless of whether you
are using C or C++. Using pooled memory is safe, and easier to implement in C++ than in C.

3. Exception handling can bloat your code. Most compilers are now very good at optimising the 'sunny day' execution path, but you still end up with more code to deal with a thrown exception. Throwing exceptions in an embedded system is problematic anyway, as there is rarely a clear way of recovering. It can however be useful during the test and verification phases.

4. Virtual methods add some code in C++, but if you need that sort of functionality you would have to write you own additional code in C anyway.

5. Run Time Type Information (RTTI) bloats code. Turn it off and add your own subset if you really need it.

6. Templates are very useful and powerful tools, but can generate a lot of code. This may be because you need the code, but it may be because you aren't using them appropriately.

List of 16 messages in thread
Who the hell uses C++ in embedded systems...      Jez Smith      06/18/12 06:58      
   So?      Per Westermark      06/18/12 08:08      
   beware of (verbal) inflation.      Erik Malund      06/18/12 10:17      
   Not as many as some would think.      Neil Kurzman      06/18/12 11:43      
      2% don't know      Jez Smith      06/18/12 13:00      
         Same same      Per Westermark      06/18/12 13:46      
         Surveys      Andy Neil      06/18/12 14:26      
   Me!      Oliver Sedlacek      06/19/12 04:30      
      Using tools that only supports C?      Per Westermark      06/19/12 05:13      
         Tools and MISRA      Oliver Sedlacek      06/19/12 06:22      
   C++ "better than C" for embedded systems      Oliver Sedlacek      07/11/12 20:48      
      as far as the '51 goes      Erik Malund      07/12/12 01:16      
         As far as '51 goes - C++ is still viable      Per Westermark      07/12/12 02:05      
            class vs source      Andy Peters      07/12/12 03:51      
         I did say "smallish"      Oliver Sedlacek      07/12/12 08:11      
            Overkill?      Per Westermark      07/12/12 19:01      

Back to Subject List