Summary

This chapter discussed preliminaries of working on actual code optimizations. It introduced development and optimization tools and discussed the importance of choosing the correct programming language for a project.

The tools discussed were

  • The compiler tool which transforms a program written in a high-level programming language into an executable binary file

  • The preprocessor tool that takes care of several processes before the compiler starts its big task

  • The assembler tool that translates human understandable mnemonics into microprocessor instructions (executable code)

  • The linker tool that takes all the libraries and object files you have created and links them together

  • The Make utility tool that aids in checking up on dependencies and recompiling all objects that are effected by a change in one or more source files

  • The Debugger tool that allows the user to follow the path of execution as the program runs

  • The Profiler tool that determines how often each function of a program is called, how much time is spent in each function, and how this time relates (in percentages) to the other functions

  • The Run Time Checker tool that is used to detect irregularities during program execution

  • The Static Source Code Analyzer tool that looks at the source code (all the source code!) and remarks on constructions which it finds suspect

  • The test program, which is probably the most important development tool you can use

The programming languages discussed in this chapter are

  • C. Usable for most kind of applications, as long as the programs do not become too large or complex.

  • C++. Usable for all kinds of applications, as long as the footprint is not too tight.

  • Pascal . A good all-arounder, but watch out for future support.

  • Visual Basic. Usable for quickly building programs, user interfaces, and prototypes that are not time critical (execution slowness is even a plus when writing those first prototypes).

  • Java. Usable for portable applications that aren't time critical, Internet software, downloadable executables, and prototypes.

  • Assembly. Usable for small, time-critical programs or program parts. Drivers, interrupt routines, close hardware interaction programs.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset