Open Source development tool Set
Transferred from: http://www.linuxforum.net
Original Author: Gogoliu (Pooh-Bah)
Editor:
VI: Veteran editor, can be found on various UNIX and Unix-like platforms
EMACS:GNU Project development Editor, powerful extensibility, definitely not an editor so simple
Code patching Tool:
Diff & Patch: A good pair of gears, diff is used to generate code patches, and patches are used to patch code
Project Building Tools:
Make (Makefile): A common project building tool that allows you to build individual goals from your entire project's code with a single Makefile
Autotool (including autoconf, Automake and Libtool): Easy to generate standard makefile in your project, for many free and open source software projects
Version Control tools:
CVS: Legacy version control tools for centralized versioning, serving many projects, and now a little tired
Subversion: A tool developed to replace CVS, which solves some of the criticisms of CVS
Version control tools developed by the GNU Arch:gnu project, which belong to the Distributed version Control tool
Git:linus Torvalds is a tool developed for kernel versioning, and of course for common applications, as well as distributed version control tools
C Library:
GLIBC:GNU project development of C library, very large and comprehensive, is the cornerstone of many free and open source software, familiar with it to you into the field of Linux development is very good
UCLIBC: The C library developed for embedded systems is much smaller than glibc, but it is very compatible with glibc, and glibc-based software is easily ported to UCLIBC.
Newlib: Another C library developed for embedded systems
Diet libc: The same is the C library developed for embedded systems
Binary and Target file processing tools:
The binary and Target file processing toolkit developed by the BINUTILS:GNU project includes tools needed for various development processes: connectors, assemblers, a range of binary and target file processing tools, and a performance analyzer. You seldom use them directly, but they are often used indirectly.
Compiler:
The GCC:GNU project developed by the Almighty compiler, which supports languages including C, C + +, objective-c, Fortran, Java, and Ada, which supports processors including I386, MIPS, ARM, PowerPC, IA64, etc. You can also add additional language front end and other processor backend for it. GCC performs well and also supports cross-compiling for this planet;) Many software projects are used.
Source Code Debugger:
GDB:GNU project developed by the source code debugger, powerful, is a good assistant programmer
Memory Management Checker:
Valgrind: A very good memory checker that can help you detect memory errors in your program. You can also analyze the use of the cache and the use of heaps (which can also include stacks), allowing you to optimize your code
Call Tracker:
Strace: System call Tracker to track system calls that your program calls
Ltrace: Dynamic library Call Tracker to track the dynamic library interfaces that your program calls
Performance analyzers:
Gprof:binutils in the Performance Analyzer, can help you optimize your code, improve the speed of the program
Qprof: Another performance analyzer that supports dynamic library performance analysis and multithreading, multi-process performance analysis
Oprofile: A system-wide performance analyzer that uses kernel modules and a background process for data acquisition, which not only provides performance analysis data for a process but also provides performance analysis data for the kernel
Edit Accessibility Tools:
Indent: Source code beautification tool, you can indent and fold the source code, such as typesetting and beautification work.
Software Measurement tools:
Sloccount: Source code line count tool, you can count the number of lines of code in a directory under a variety of languages.
Gcov+lcov:gcov is a gcc-brought Code Coverage analysis tool that tracks which part of the code is executed when the program runs, how often the code executes, and how long it takes to execute. This can help you to test the software that has been optimized for the program. Lcov is an extension of Gcov that provides intuitive analysis information.
Open Source development tool Set