简体   繁体   中英

Programming resources for C++ in Linux

I am new (in a way) to C++ programming. I would like to start doing development in Linux using C and/or C++ as programming languages. I have done some development for a while in Java.

Unfortunately I am not sure where to start. Can you point me to some good resources, and also give me an outline as to what would be the primary difference between C and C++ in Windows and Linux?

Any special steps I need to do to get started? Also any good IDEs. I plan to use Eclipse currently. I am using Kubuntu (version 9.x).

It is good that you are using a Linux platform as it will help you to program as per the C and C++ standards.

I would recommend

vi / vim --> text editor

gcc --> C compiler

g++ --> C++ compiler

gdb --> Command line debugger

ddd --> GUI debugger

I use the above mentioned tools. If you are hell-bent on IDEs, you can use the ones mentioned by Chen Levy

If you have done development in Java, then you can start with any tutorial on the internet. There are literally hundreds of them!

I don't expect it to be hard since you have a Java background.

Here is a nice tutorial on CPlusPlus.com .

Also, check out this question on StackOverflow: The definitive C book guide and list .

IDE Eclipse is very good as a starting point. The new CDT provides a completely set up environment. Just be sure to install gcc and gdb before trying out anything. And don't use the eclipse in the ubuntu repos, download a current release.

Difference Windows/Linux: The language standard is completely the same in both worlds. (Compiler implementations vary in fullfillment of the standard, but you shouldn't notice anything in the beginning.) If you stick to cross-platform tools, compiler(gcc/mingw), ide and debugger it can stay this way. (I imply that the obvious differences, like .so s and .dlls and stuff are known) If you move over to other compilers and library implementations (MSVisualC++ for instance) it can get interesting in the advanced stages, but it shouldn't be too difficult to bridge the gaps.

Good/essential libs to know: the stl, boost, and maybe for productivity and ease in the beginning: qt. These are as platform independent and generally useful as possible. Know them, and they are usable through your complete c++ lifetime. (Don't make the mistake to want to learn it all in one go, just go step by step. Don't try template programming in the beginning, it is mind-boggling ;) but using templates is fun)

IDE / Editor I think with Eclipse you can quite good start with. I perfer emacs and use of the command line tools of gcc. Why? I think you learn more of the basics how they work.

Good libs : STL, QT, boost with these tree you have the ability to create/develop most of the parts you like or you need.

In my opinion very important is that you stuck (in the beginning) to the libray you selected. And also to the IDE/editor.

Starting point : As earlier mentioned Thinking in C++, Second edition (Volume 1 &2) by Bruce Eckel. He trys to explain the difference between C and C++. In volume 1 he explains the basics of C++ and in volume 2 he introduces some parts of the STL.

Another usefull ressource for me was C++ FAQ lite Here you can find a lot of usefull tipps.

如果你想要一些图书馆的好地方开始是 sourceforge.net 和 freshmeat.net

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM