您建议学习哪些书籍或在线资源来学习Linux中的C ++编程?

时间:2009-10-04 16:43:29

标签: c++ linux

我在Windows中拥有多年的C ++编程经验。现在我需要为Linux编写一些应用程序。是否有任何资源可以帮助我快速获得有关C ++开发人员可用的Linux技术的必要信息?

4 个答案:

答案 0 :(得分:4)

Linux下的C ++编程在核心上并没有那么不同。 Linux编译器通常比MSVC更符合标准;然而,随着MSVC成为更好的编译器,这种情况正在发生变化。区别在于环境和可用库。 Visual Studio不可用(显然),但Visual SlickEditEclipse等其他一些环境都可用。

构建系统变化很大,可能取决于您在Gnome,KDE或永远存在的命令行之间的偏好。就个人而言,我发现后者是最干净,最一致的。如果您最终到达命令行,请了解GNU Make并获取GNU Autoconf, Automake, and Libtool的副本。这将很好地介绍GNU命令行开发栈。

调试有很多不同,因为VS提供了一个很好的GUI调试环境。大多数Linux环境只是使用GUI包装命令行调试器(通常是gdb)。如果你期望一个很好的集成调试器,结果是不太令人满意的。我建议你习惯使用gdb。有一些decent tutorials for gdb online。只需google即可。一旦你有点舒服,read the online manual就能找到真正的东西。

另一种选择是使用与窗口系统一起打包的任何开发环境,或使用Eclipsesome C++ plug-in

之类的东西

关于这个主题的书籍,Advanced Programming in the UNIX Environment是必读的。 UNIX Systems Programming也是一个很好的阅读,因为它为你提供了坚实的贝壳,过程以及其他方面的基础。我会推荐POSIX Programmer's GuidePOSIX.4 Programmer's Guide,因为它们会为你提供很多系统编程。

所有这些都说明了,尽情享受真正迎合程序员的操作系统;)

答案 1 :(得分:3)

我正在为一个程序立即从Windows切换到Linux,到目前为止,我发现mangrep很棒。我没有在MSDN(或类似)中查找函数原型,而是使用man

如果我需要一个代码示例,grep通过与我有一些相似之处的现有项目是一个很大的帮助。或者,如果有一个类似的项目足以保证这一点,那么设置LXR的代码库以便更容易地进行阅读确实有很大帮助。

一般来说,Linux的开源特性是学习在Linux上编程的最佳资源。

史蒂文斯的Advanced Programming in the UNIX Environment也是一个巨大的福音。但至于IDE等,请称我为luddite,但我喜欢vimmake

答案 2 :(得分:2)

我从马修和石头的Beginning Linux Programming那里学到了很多,虽然它比C ++更多的是C语言。

答案 3 :(得分:1)

我使用die.net并在The Open Group的网站上查找了很多,http://www.opengroup.org/onlinepubs/000095399/functions/ {function} .html。它们与man具有相同的信息。我使用SciTE,并将C API和Open Group POSIX查找作为热键,如here所述。