Guide to Unix/Commands/SW Development
A debugger. A GNU alternative is gdb.
- adb man page, man.cat-v.org
- sdb man page, man.cat-v.org
- gdb, freebsd.org
- Debugging with GDB, sourceware.org
Creates an archive from files. The usual use is to create an archive from compiled object files, where the archive is fed to a linker.
- ar, opengroup.org
- ar man page, man.cat-v.org
- ar, freebsd.org
- ar in GNU Binary Utilities, sourceware.org
- W:Ar (Unix)
Compiles assembly source code.
Compiles C language source code. A GNU alternative is gcc. Another alternative is clang.
- c99, opengroup.org
- cc man page, man.cat-v.org
- clang, freebsd.org
- GCC online documentation, gcc.gnu.org
Outputs call graph for C language source code.
Creates a tags file from source code. The tags file is a text index to object definitions and object uses where objects include variables, functions and the like. The file helps users and tools such as text editors navigate source code. Emacs uses its own variant called etags; alternatively, you can use Exuberant ctags with option -e to generated Emacs-format tags file.
Outputs cross referencing information on C language source code files.
Compiles Fortran 77 source code. GNU Fortran compiler used to be invoked via g77, and now is invoked via gfortran.
- fort77, opengroup.org
- f77 man page, man.cat-v.org
- The GNU Fortran Compiler manual, gcc.gnu.org; also available as pdf
Links object files into an executable.
- ld man page, man.cat-v.org
- ld, freebsd.org
- GNU ld manual, sourceware.org
- LLD - The LLVM Linker, lld.llvm.org
Generates C language source code for a lexical analyzer based on provided lexical rules.
Outputs suspect things in C language source code.
Drives a file production process based on a specification of dependencies between production input files and output files. The file production process so driven is usually compilation and linking.
Outputs symbol names found in an object file or a similar file having symbols in it.
- nm, opengroup.org
- nm man page, man.cat-v.org
- nm, freebsd.org
- nm in GNU Binary Utilities, sourceware.org
Outputs information from object files, such as disassembly. Not covered by POSIX. A similar tool for macOS is or used to be otool.
- objdump, freebsd.org
- objdump in GNU Binary Utilities, sourceware.org
- otool source code, opensource.apple.com
Profiles a program, identifying code locations that cost most time.
Removes certain information from executable and similar files resulting from compilation, unnecessary for certain purposes.
- strip, opengroup.org
- strip man page, man.cat-v.org
- strip, freebsd.org
- strip in GNU Binary Utilities, sourceware.org
Generates C language source code for a parser based on a provided grammar specification. Stands for yet another compiler compiler. A GNU alternative is bison, compatible with yacc.