Linux下C++编程资源

3

我在C++编程方面还比较新,希望使用C和/或C++作为编程语言在Linux上进行开发。我已经使用Java进行了一段时间的开发。

不幸的是,我不确定从哪里开始。您能否指向一些好的资源,并告诉我C和C++在Windows和Linux之间的主要区别的概述?

我需要采取哪些特殊步骤才能入门?还有任何好的IDE。我打算目前使用Eclipse。我正在使用Kubuntu(版本9.x)。


3
这门语言叫做 C++ - cpp 是预处理器。 - anon
6个回答


4
你正在使用Linux平台,这是非常好的,它将帮助你按照C和C++标准进行编程。我推荐以下工具:
vi/vim --> 文本编辑器
gcc --> C编译器
g++ --> C++编译器
gdb --> 命令行调试器
ddd --> GUI调试器
我使用以上提到的工具。如果你非常想使用IDE,你可以使用Chen Levy提到的那些。

5
你是认真的吗?给一个初学者?别开玩笑了! - AndreasT
1
你为什么对AT感到惊讶?在Linux机器上我学习的第一件事就是vi,我并不认为自己有多厉害,所以如果我能做到,其他人肯定可以做得更好。 - rocknroll
2
@rocknroll,请记住这是一个初学者,需要学习如何编写、编译、链接和调试C++代码。再加上学习Vi可能只会导致挫败感。我自己很喜欢Vim,但我是在成为专业的C++程序员很久之后才学会它的。 - StackedCrooked

3
如果你已经有Java开发经验,那么可以从网上任何教程开始学习。这些教程数量之多简直数不清!
因为你有Java背景,所以我不认为学起来会很难。
CPlusPlus.com上有一个不错的教程,链接在这里:http://www.cplusplus.com/doc/tutorial/
此外,还可以查看StackOverflow上的这个问题:The definitive C book guide and list

4
实际上,我发现有Java背景的学生很难学习C ++。似乎Java与C ++非常接近,让你陷入尝试使用自己习惯的用法的误区 - 当然,这些用法在C ++中通常不起作用。此外,Java模糊/隐藏了一些重要概念(对象/对象引用、按值传递/按引用传递堆栈/堆等),学生们在学习C ++后必须学会这些概念。如果早些时候正确地教授这些概念,那么学生可能更容易理解,而不是在时间允许自己制定错误模型之前。 - sbi

2

集成开发环境(IDE) 作为起点,Eclipse非常好。 新的CDT提供了完全设置好的环境。 在尝试任何操作之前,请确保安装了gcc和gdb。 不要使用ubuntu存储库中的eclipse,请下载最新版本。

Windows/Linux的区别: 两个世界的语言标准完全相同。(编译器实现在标准履行方面有所不同,但在开始阶段您不应该注意到任何问题。) 如果您坚持使用跨平台工具、编译器(gcc/mingw)、IDE和调试器,那么这种情况可以继续下去。(我暗示已知的差异,如.so和.dll等) 如果您转向其他编译器和库实现(例如MSVisualC++),在高级阶段可能会变得有趣,但是弥合差距不应该太困难。

值得了解的好/必要库: STL、Boost,以及在开始时为提高生产力和便利性:Qt。 这些尽可能独立于平台,并且通常很有用。了解它们,它们将贯穿您的整个C++生涯。 (不要犯想一口气学习所有内容的错误,一步一个脚印地走。在开始阶段不要尝试模板编程,这很令人费解;但是使用模板很有趣)


1
IDE / 编辑器 我认为使用Eclipse你可以比较好地开始。我更喜欢emacs和使用gcc的命令行工具。为什么呢?我认为这样你会更深入了解基础知识的工作原理。 好的库:STL,QT,boost,使用这三个库你就可以创建或开发大部分你想要或需要的组件。
在我看来,非常重要的一点是选择一个库时坚持(在开始时)。还有IDE/编辑器。 起点:如前所述,Bruce Eckel的Thinking in C++, Second edition (Volume 1 &2)是一本不错的参考书。他试图解释C和C++之间的区别。在第一卷中,他讲解了C++的基础知识,在第二卷中介绍了STL的一些部分。
对我来说,另一个有用的资源是C++ FAQ lite。在那里你可以找到很多有用的提示。

0

如果你想要一些好的库,可以从sourceforge.net和freshmeat.net开始搜索。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接