c++ - Ubuntu 11.10 上的 C 和 C++ 编程

标签 c++ c linux ubuntu

我最近安装了 Ubuntu 11.10 以及 CodeBlocks IDE,我知道我默认有 gcc 和 std 库。

我的问题是:

  • 您对 Ubuntu 上的新 C++ 程序员有什么建议吗?
  • 我应该从一开始就获得任何库?
  • 我缺少一个非常好的 IDE? (YMMV,但我更喜欢在 IDE 中工作)
  • 我应该从一开始就意识到任何编程的好处或陷阱?

最佳答案

在 Ubuntu 上使用 C 或 C++ 编写代码不需要 IDE。您可以使用一个好的编辑器(如 emacs,您可以对其进行配置以满足您的需要。)。

给新手的一些提示:

  1. 始终使用 -Wall -Wextra 进行编译,甚至可能使用 -Werror -pedantic-errors
  2. 编译器的参数顺序(gccg++)非常重要;我推荐:

    • 一般警告和优化标志(例如,-Wall-g 获取调试信息、-O-flto 等,或 -c 以避免链接,...)
    • 预处理器选项,例如 -I include-dir-D defined-symbol(或 -H 了解包含哪些 header )等。
    • 要编译的源文件[s],如 hello.cworld.cc
    • 如果要链接现有的目标文件else.o,请将它们添加到源文件之后
    • 链接器选项(如果相关),尤其是 -L library-dir(如果您的程序使用带有 dlopen(3) 的插件,则可能还有 -rdynamic。 ...)
    • 库(如 -lfoo -lbar 从高级库(如 libfoo.so)到低级库。
    • 输出文件(即生成的可执行文件),例如-o yourexec.
  3. 始终纠正您的源代码,直到完全没有警告为止。相信编译器的警告和错误消息。

  4. 了解如何使用make并编写简单的Makefile-s;见 this example

    还有其他 build 者,例如http://omake.metaprl.org/

  5. 使用 -g 标志编译您的代码,让编译器生成调试信息;仅在您调试程序后,要求编译器进行优化(例如,使用 -O1-O2),尤其是在基准测试之前。
  6. 了解如何使用 gdb
  7. 使用 svngit 之类的版本控制系统(即使是家庭作业)。在 2015 年,我推荐 git 而不是 svn
  8. 备份您的工作。
  9. 学习使用 valgrind 寻找内存泄漏。

注意

上述建议并非特定于 Ubuntu 11.10,它们可能适用于其他 Linux 发行版和其他 Ubuntu 版本。

关于c++ - Ubuntu 11.10 上的 C 和 C++ 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7937602/

相关文章:

c++ - 以下程序片段的可能输出?

linux - 为什么对我自己的帐户运行 sudo 可以修复 Swing GUI 中的图形问题

c++ - 对于按值传递的重成员,构造函数的初始化列表中真的需要 std::move 吗?

c++ - 如何使用 boost MPI 出现死锁情况(我使用 MPICH 编译器)?

c - fprintf 语句在代码块中未正确执行

c++ - 打印和调试时 Visual C++ 值不同?

linux - bash - 如何按字数将长字符串分成多个字符串

linux - 我应该如何构建一个在一个设备中使用多个芯片的 linux 驱动程序?

c++ - C++ 头文件不包含任何其他头文件的任何充分理由?

c++ - Windows 7 如何在任务栏中显示应用程序的缩略图?