You don’t need an IDE to code in C or C++ on Ubuntu. You can use a good editor (like emacs
, which you can configure to suit your needs.).
Some few tips for a newbie:
- Always compile with
-Wall -Wextra
and perhaps even with-Werror -pedantic-errors
-
Order of arguments to the compiler (
gcc
org++
) are really important; I recommend:- general warnings and optimization flags (e.g.
-Wall
,-g
to get debug info,-O
,-flto
etc, or-c
to avoid linking , …) - preprocessor options like
-I
include-dir and-D
defined-symbol (or-H
to understand which headers get included) etc.. - source file[s] to compile like
hello.c
orworld.cc
- if you want to link existing object files
else.o
, add them after the source files - linker options (if relevant), notably
-L
library-dir (and probably-rdynamic
if your program uses plugins with dlopen(3) ….) - libraries (like
-lfoo -lbar
from higher-level libraries likelibfoo.so
to lower-level libraries. - output file (i.e. produced executable), e.g.
-o yourexec
.
- general warnings and optimization flags (e.g.
-
Always correct your source code till you got no warning at all. Trust the compiler’s warnings and error messages.
-
Learn how to use
make
and to write simpleMakefile
-s; see this example.there are other builders, e.g. http://omake.metaprl.org/ etc
- Compile your code with the
-g
flag to have the compiler produce debugging information; only when you have debugged your program, ask the compiler to optimize (e.g. with-O1
or-O2
), especially before benchmarking. - Learn how to use
gdb
- Use a version control system like
svn
orgit
(even for a homework assignment). In 2015 I recommend git oversvn
- Backup your work.
- Learn to use valgrind to hunt memory leaks.
NB
The advices above are not specific to Ubuntu 11.10, they could apply to other Linux distributions and other Ubuntu versions.