I've heard the nature of C# allows the source code (or some form of the source code) to be carried along with the distributed executable, so that with the right tools one can "de-assemble" back to the source code. not very confidential.
?A lot of embedded C code use compiler define directives to adapt to different processor families or members of a family, making code very difficult to read and follow. Is there a way or a tool which can make that the code be displayed only for a certaing define case?
On your question about the delay in use of C+ in embedded projects, the biggest issue was the availablity of C as a an option for the microprocessor used in the project. Not only is good compiler and linker necessary, but a also a good runtime debugger that supports source level debugging in C . The lack of a runtime source level debugger which supports break points will make debugging code far more tedious and complicated.
? Are there particular embedded platforms that are more appropriate for C+ than others? ARM, for example, when talking about Cortex-M, likes to emphasize their clean mapping to C, and sort of downplays/deemphasizes the use of C ...
? As luiscosta posted below, using OO techniques in C (not C plus plus) is attractive. It's great to continue using the C compiler you are familiar with, rather than having to buy/learn to use a new C plus plus compiler. Colin, please discuss at some point during this week.
@ALL: For those who are crazy about C, there have been books writen in the past that provide recommendations on how to program in OO fashion without leaving C. After all, C+ was developend on top of C.
@rfindley - I believe that try/throw/catch is considered to be non-deterministic (and not easy to make deterministic). How relatively 'slow' it is, I don't know. I don't think that try/throw/catch construct is allowed in flight systems, etc., because of the inability to quantify the time it will take in all cases.
@DWSY, I enjoyed Fred Eady's book Master and Command C for PIC MCU. While it's specifically for that compiler, Fred has a lot of good ideas for making code modular and readable. I read it twice. Available from Custom Computer Services, Inc. Only 78 pages.
@Colin (or anyone), Past benchmarks have indicated that Exception Handling was an expensive feature to implement. However, more recent reports are that it is comparable to 'manual' error handling methods. Anyone here have any recent practical experience with EH performance?
Past benchmarks have indicated that Exception Handling was an expensive feature to implement. However, more recent reports are that it is comparable to 'manual' error handling methods. Anyone here have any recent practical experience with EH performance?
@tniles: yes, inline functions avoids call/return overhead, but the inline keyword it's only an advice to compiler, it doesn't mean that it will be inlined, there is a compile switch to force it inline
"[olyh01]:That's would be considered an advantage. OK."
However a better practice is to update the function definition and globally change the old invocations to conform to the new definition, in doing which you are force to assess the impact of the change. For example, it is really a good idea to leave all old instances the way they were; what about the new parameteres and their defaults - woyuld they cause unintended effects? etc.
?C+ 11 deprecates mapping explicit registers for use as pointers/reference parameters. This seems to be the wrong direction for embedded code where you may want to control register use and execution speed. Comments? Ways around this?
Advantages of omitting parameters (which leads to creation of default values): if the values to be supplied are same as default values then there is no need to supply the values when calling the function.
@Nabeel, First we download the slide deck from Special Education Materials above. Then right on time, the audio portion starts up. If it doesn't press F5 on your keyboard. If that doesn't work, restart your browser. The sound indicator will be right under the title.
You are eligible to earn IEEE Professional Development Hours by attending these courses and participating in the chat function. Additionally, we are no longer using the points system, offering "graduation", or giving grades. The IEEE hours are taking the place of that. There are some important things for you to know about earning the hours. The most important ones are that you need to attend these courses live, you need to attend a minimum of two of them per semester, you need to fill out a course evaluation form within 2 weeks of the end of the class, you need to attend 4 out of the 5 classes per course, and you need to participate in the chat function every day you attend. Please click on the link at the top of this page that says "How do I earn IEEE professional development hours" to read all of these important details and more.
Please join our Digi-Key Continuing Education Center LinkedIn Group at http://linkd.in/yoNGeY and be sure to follow @designnews and @DigiKeyCEC on Twitter for the latest class information. We encourage you to tweet about today's class using #DigiKeyCEC.
The streaming audio player will appear at the top of this web page when the show starts at 2 PM Eastern time today. If the audio doesn't start automatically, click on the play button to start it. Note however, that some companies block live audio streams. If when the show starts, the audio bar doesn't appear or you don't hear any audio, try refreshing your browser. If that doesn't work, try using Firefox or Google Chrome as your browser. Some users experience audio interruptions with IE. Also, make sure your flash player is updated with the current version. If that doesn't work, your company is likely blocking the live stream. The class will be archived immediately following our live taping and you will be able to listen to it then. You shouldn't experience any problems with the audio when listening on-demand.
Someone on the blog pointed out that you can go back and edit your own comments. You know, to correct spelling errors or whatever. Just click in the Date and Time in gray above your comment and select Edit/Delete.
I am very excited about this class. @psharpe, These classes are always presented in PowerPoint slides along with the live video. I open the slides with Libre Open Office. I also like to copy/paste the blog comments in the same folder with the class.
In many engineering workplaces, there’s a generational conflict between recent engineering graduates and older, more experienced engineers. However, a recent study published in the psychology journal Cognition suggests that both may have something to learn from another group: 4 year olds.
Conventional wisdom holds that MIT, Cal Tech, and Stanford are three of the country’s best undergraduate engineering schools. Unfortunately, when conventional wisdom visits the topic of best engineering schools, it too often leaves out some of the most distinguished programs that don’t happen to offer PhD-level degrees.
Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies. You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived. So if you can't attend live, attend at your convenience.