Question

I had programmed an application in C# using Visual Studio as an IDE on windows platform, but I have now switched to linux operating system and using VI, sublime text and gedit so far for programming in linux(using C).
Although I don't want to get into a debate about whether to use IDE or not, it's a personal choice, but many people have advised that if you want to learn in deep what happens inside your program or your system, you should never use IDE's. Even on "Learn C the hard way" it was advised the same.
So, I am looking forward to learning the GNU toolkit(gcc, gdb etc), so that I can improve my programming skills with these tools. I have already started using vi editor.
The only problem is that I am unable to find some good tutorials on these.
So far, whatever things I have learned is either from questions related to these tools on SO, or by using man command on terminal.
I know the learning curve is pretty steep, but I am willing to devote all my time and energy to this, and I believe that learning these tools will surely benefit me.
Can anyone please point out some good tutorials for these?

Was it helpful?

Solution

You might check books by W. Richard Stevens: http://www.kohala.com/start/ They are well written and describes the area thoroughly. They even available for free in source form :)

Alternatively you may ask your questions on stackoverflow :)

By the way: a good source for learning *nix-like environment is to use info together with man. For example check info libc to get a pretty decent introduction to system calls with examples, info gcc gives you GCC docs and so on. After all the C language and UNIX are two siamese twins, they can't exist without each other.

OTHER TIPS

You seem to be most of the right things - not using an IDE, using man pages etc. You might want to try emacs - it has an inbuilt tutorial, and some people (like me) find it easier over vim (no flames pls). And for the other parts - you are using gcc. You might also want to use valgrind.

gdb tutorials: (though you can use Alt+x gdb in emacs, I wouldn't suggest it, if you want to "learn" gdb) www.cs.cmu.edu/~gilpin/tutorial

www.unknownroad.com/rtfm/gdbtut

valgrind+gdb usage: (using Alt+x compile "valgrind in emacs is sometimes easier to trace in code) http://valgrind.org/docs/manual/QuickStart.html

[edit] I can't post links yet.. so typing them as text

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top