![源代码是文本,因此任何文本编辑器都可以......](https://linux22.com/image/1137710/%E6%BA%90%E4%BB%A3%E7%A0%81%E6%98%AF%E6%96%87%E6%9C%AC%EF%BC%8C%E5%9B%A0%E6%AD%A4%E4%BB%BB%E4%BD%95%E6%96%87%E6%9C%AC%E7%BC%96%E8%BE%91%E5%99%A8%E9%83%BD%E5%8F%AF%E4%BB%A5.......png)
我使用 Windows 中的 turbo c++ 来编写 c/c++ 代码。最近我开始使用 Ubuntu,现在我应该在哪里编写 Ubuntu 中的 c/c++ 代码,就像我们以前在 Windows 中那样?我应该从 Ubuntu 应用商店下载哪个软件来编写代码?请注意,我不是问如何编译,而是问在哪里以及在哪个软件中编写代码。
答案1
在我看来,不需要任何 IDE 来编译和执行大多数 c/c++ 程序。
您可以使用任何文本编辑器(如 Gedit、nano、Vi/Vim)来编写代码并使用gcc
或g++
默认安装的进行编译。
安装(充足的)一次包裹。
sudo apt-get install build-essential
下次,要编译 c 程序,请转到终端并执行:
gcc /path/to/your/program/my_c_program.c -o outputfile.out
要执行编译的文件,
./outputfile.out
您可以从其手册页中了解有关 gcc 和 g++ 的更多信息。
man gcc
man g++
答案2
答案3
到目前为止,所有其他答案都只是建议和 IDE。当您说“请注意,我不是在问如何编译,而是在问在哪里以及在哪个软件中编写代码。”我理解在哪里也是在问使用哪个编译器。
开始学习 C/C++ 的第一步是 Gnu 编译器集合 (GCC)。安装 GCC 以及构建软件的其他必需品的最简单方法是安装build essential
元包:
sudo apt-get install build-essential
现在您有了所需的编译器和 IDE。正如大家指出的那样,这是个人选择。以下是一些示例:
凯特: 很棒,但使用时需要一些额外的知识。
我很喜欢凯特,一个简单的文本编辑器,您可以在其中针对每种类型的文件定制其行为。您还可以设置项目(目前这需要手动编写项目文件)并在 Kate 中将终端作为面板。然后我使用自己的make
文件进行编译。这相当实用,但可以让您更精细地控制和了解正在发生的事情。
代码::块: 使用起来更简单,但在我看来,它比 Kate 更霸道。
就像之前提到的代码:块是一款功能齐全的 IDE,适用于 Linux 和 Windows。如果您希望在两个平台上使用相同的 IDE,那么它可以让您轻松实现这一点。它还具有图形工具的“优势”,可用于设置编译器选项,以及一个简单的按钮,可轻松编译简单的程序。
日蚀 CDT 我听说它很受欢迎,但就我个人而言,它对我来说太大太笨重了
蚀是一个巨大的跨平台 Java IDE,但它有用于开发几乎任何其他东西的插件。CDT 插件适用于 C/C++。我简单看了下这个 IDE,但并不喜欢它。我承认这可能不是公平的判断,但我看不出它比 Code::Blocks 有什么优势,快速检查 apt 显示安装 Eclipse 和 Eclipse-cdt 需要 237 MB 的档案,Code::Blocks 需要 6.4 MB,而 Kate 只是我的 Kubuntu 附带的标准 KDE 文本编辑器(0.5 kB 包,但这是一个不公平的比较,因为它已经安装好了,所以我不确定原始 Ubuntu 上的依赖项是什么)。我并不是说 Eclipse 本身不好,只是我认为没有理由任何 IDE 需要 1/4 GB 的空间。
当然,还有很多其他选择。
答案4
源代码是文本,因此任何文本编辑器都可以......
也就是说:大多数程序员都欣赏词汇(语法)突出显示,并且许多文本编辑器都提供该功能(当然是我们要讨论的任何功能),以及一些使编码更容易、更高效的基本工具(选项卡、窗口、搜索/替换等)。
这个问题确实与偏好有关。由于问题中没有特殊标准可以帮助缩小更好的建议范围,因此这个答案必然会很宽泛,但我会尝试提供足够的信息,以便您可以确定哪个选项最能满足您的偏好。
总结
为什么这么多人把这个放在最后?现在让我们把它解决掉。
如果您想直接阅读到最后:我使用 vim在终端中,原子在桌面环境中,如果我推荐通用 IDE,那么它可能是 IntelliJ IDEA,但我很少再使用 IDE。
有很多选项,我将在三个类别中分别给出几个(我在开发中使用过其中的每一个,(尽管有些非常简短):
终端文本编辑器
对于许多在类 Unix 环境中从事编码的人来说,这是他们的地盘。使用 ssh 等简单工具进行远程开发时,您可以获得优势,而且对系统的影响基本为零……这些工具非常轻量且快速,我不骗你,我合作过的一些人实际上想要一些更笨重的东西……你知道吗,“感觉就像一个程序正在运行”。
Vim 是我的最爱,也是我使用频率最高的编辑器,比我将在这里列出的任何示例或任何类别都多。如果您是盲打者,并且想要一个可以配置为完全符合您需求的编辑器,并且不想真的去触摸鼠标……这些以及许多其他令人着迷的奇迹在 vim 中等着您。它快速而高效,一旦您习惯了它,您就会希望 [插入任何事物这里]和vim一样酷。
Nano 是此类别中的另一个常见建议;在我看来,虽然入门可能更简单,但最终 vim 是一个更优秀的产品。我用过它,除了学习曲线稍微平缓一些外,没有发现它比 Vim 有什么优势……但那些认为你无法在第一次使用 Vim 时就有效地写作的人……抱歉,几乎是因为离题的咆哮。
我会提到 Emacs 作为另一个显而易见的选择,但我没有使用过它,因此个人无法推荐,然而它(就像 vi/vim 一样)拥有狂热的追随者,并且可能至少有一些追随者是出于实际原因使用它。
注意以上都是免费的
GUI 文本编辑器
如果你不习惯使用终端,或者不想这样做,那么有一些非常好的文本编辑器,它们具有一些附加功能,可以使你的编码更加愉快和高效,而且比完全膨胀功能齐全的 IDE。
我不知道该推荐 Atom 还是 Sublime Text。我都用过,而且都很喜欢。
Atom 是完全开放的,可以被破解。每天都有越来越多的社区构建工具出现。他们可以调整从外观到功能的一切。那里的乐趣无穷无尽。它也是免费的和开源的。
Sublime 不是开源的,也不是免费的(但它很便宜,而且物有所值,在撰写本文时价格为 70 美元)。它目前运行速度稍快,外观也比 Atom 好看一些。它的配置也很好,只是比 Atom 稍微封闭一些。
对我来说,将这两家公司进行比较是自然而然的事情;他们是天生的竞争对手,而且非常相似,拥有相同的目标受众等。我既不会更喜欢其中一家,也不会建议选择其中一家。这真的关乎偏好,它们都是很有用的工具。
而且由于 Atom 是免费的,而 Sublime 可以免费试用,因此测试一下两者也没有什么坏处。
值得一提的是 Kate(和它的堂兄弟 KDevelope)和 Gedit;它们都是不错的工具,但我认为如果你喜欢它们,你至少应该看看 Atom 和 Sublime,它们我至少更喜欢。
完整的 IDE
好吧。坦白说:我有偏见,不久前就放弃了 IDE,而且真的不想再回去了。话虽如此,一些编程(比如 Android)似乎几乎需要 IDE。在我看来,它们臃肿而缓慢,与你从中获得的任何好处不成比例。
我使用过的有:Eclipse、IntelliJ IDEA、Android Studio、NetBeans。
我会推荐 IntelliJ IDEA 而不是其他的。但如果你喜欢 Eclipse(很多人都喜欢),那么它们基本上是一样的。我的意思是它们都能让你到达你想要去的地方,只是我在 IntelliJ IDEA 中遇到的烦人时刻比其他的少。