Linux Tools for Software Development
Syed Mansoor Sarwar, Robert M. Koretsky · 2018
A typical Linux system supports several high-level languages (HLLs), both interpreted and compiled. These languages include C, C++, Pascal, Java, LISP, and FORTRAN. This chapter discusses Linux program generation tools for C to perform the following tasks: editing, indenting, compiling, handling module-based software, creating libraries, source code management, and revision control. It also discusses Linux tools for static analysis of C programs: verifying code for portability and profiling; Linux tools for dynamic analysis of C programs: debugging, tracing, and monitoring performance. The chapter describes Linux tools for all three steps. The depth of discussion on each tool depends on its usefulness for an average software developer, the frequency of its use, and how widely it is available on various Linux platforms. The chapter covers the following commands and primitives: ar, cppcheck, g++, gcc, gdb, gprof, grep, help, indent, javac, make, memcheck, nm, perf, perl, python, ranlib, rlog, ruby, strip, time, and valgrind.