Next Previous Contents

3. Development of an Editor on Linux

3.1 GCC

GCC is the Gnu C/C++ compiler that ships by default with nearly every distribution. This is a excellant industrial strength compiler with lots of facilities and frontends for supporting different languages. To compile C or C++ code please use the respective commands


gcc <filename>.c
g++ <filename>.cpp

For more information on gcc visit the GCC Home Page. Or on your Linux machine type the following at a command prompt or xterm window or whatever.


man gcc 
info gcc

3.2 GDB

GDB is the GNU Debugger that allows you to debug your code using breakpoints, watches, flags etc. This will also help you identify all those annoying Segmentation faults (seg-fault, core dumped!) that you will soon generate. For more information on gdb you can read up the GNU GDB Manual. Or on your Linux machine type the following at a command prompt or xterm:


man gdb 
info gdb

There is also another very pretty and useful frontend for GDB called DDD which usually ships with the Suse CD's. Most IDE's also contain some form of front end for GDB.

3.3 Make

This is a tool that maintains dependencies and solves the problems of how to cleanly compile, distribute and reuse a software. This software will be shipped by default on any Linux distribution. For more information on Make you can read up the GNU Make Manual. Or on your Linux machine type the following at a command prompt or xterm window or whatever:


man make 
info make

3.4 NCurses

This is a library of functions that can be used to manipulate text elements on the screen. This library is large extensive and very well documented. This software will be shipped by default on any Linux distribution. For more information on Ncurses visit the NCurses Official Homepage. On your local machine type


man ncurses
info ncurses

The man page lists all the routines that ncurses provides. For more help on each of the individual functions listed, you could get further information by using the man pages. For example, for information on the beep routine is specified as


beep curs_beep (3X) 

Where beep is the actual routine and curs_beep is the name of the man page. For the man page for this function, type:


man curs_beep

Uconio.h

UConio.h is a wrapper written so as to help programmers who are used to and comfortable with the old conio.h style of programming. This is a project started by Pablo J Vidal and is available at his website.

3.5 Gvim / Glimmer / Emacs

These are supposed to be (!) text editors but usually can be effectively used as programming IDE's. All the three editors mentioned have syntax highlighting and intelligent macros, so most people do program using them directly.

3.6 Xwpe

This is a very effective IDE for text mode programming in the Linux platform. For all the programmers used to the BorlandC interface, this is very similar to the classic Turbo/Borland C. This has been placed under GPL and is freely available. This software needs to be downloaded and is not usually not installed on a typical Linux machine. This would be the recommended way to program your editor. More information and the Xwpe binaries are available at the Xwpe homepage. Xwpe is a small download (xwpe-1.5.23a is 215K)and certainly worth the effort.

3.7 KDevelop

This is a fine graphical IDE for programming and supports a number of high end features including CVS, automatic makefile generation and other useful playthings. This software is by default installed on the newer distributions (RH7.0, Suse7.0). KDevelop is a large download - you are warned. For more information on Kdevelop visit the KDevelop homepage.


Next Previous Contents