2

我曾在 Windows 平台上使用 Visual Studio 作为 IDE 在 C# 中编写了一个应用程序,但我现在已经切换到 linux 操作系统并使用 VI、sublime text 和 gedit 到目前为止在 linux 中编程(使用 C)。
虽然我不想争论是否使用 IDE,这是个人选择,但很多人建议,如果你想深入了解程序或系统内部发生的事情,你不应该使用IDE 的。即使在“艰难地学习 C”中,也有人建议这样做。
所以,我很期待学习 GNU 工具包(gcc、gdb 等),这样我就可以使用这些工具提高我的编程技能。我已经开始使用 vi 编辑器了。
唯一的问题是我找不到关于这些的一些好的教程。
到目前为止,我学到的任何东西要么来自与 SO 上的这些工具相关的问题,要么是通过man在终端上使用命令。
我知道学习曲线相当陡峭,但我愿意为此付出我所有的时间和精力,我相信学习这些工具一定会让我受益匪浅。
任何人都可以指出一些好的教程吗?

4

2 回答 2

2

您可以查看 W. Richard Stevens 的书籍:http ://www.kohala.com/start/他们写得很好,并彻底描述了该地区。它们甚至以源代码形式免费提供:)

或者你可以在stackoverflow上问你的问题:)

顺便说一句:学习 *nix 类环境的一个很好的来源是infoman. 例如,检查info libc以通过示例对系统调用进行相当不错的介绍,info gcc为您提供 GCC 文档等等。毕竟 C 语言和 UNIX 是一对孪生双胞胎,没有彼此就不能存在。

于 2014-01-16T05:37:32.540 回答
1

你似乎是最正确的事情 - 不使用 IDE,使用手册页等。你可能想尝试 emacs - 它有一个内置的教程,有些人(比如我)发现它比 vim 更容易(请不要火焰) . 而对于其他部分 - 你正在使用 gcc。您可能还想使用 valgrind。

gdb 教程:(虽然你可以在 emacs 中使用 Alt+x gdb,但如果你想“学习”gdb,我不建议这样做)www.cs.cmu.edu/~gilpin/tutorial

www.unknownroad.com/rtfm/gdbtut

valgrind+gdb 用法:(使用 Alt+x 编译“emacs 中的 valgrind 有时更容易在代码中跟踪) http://valgrind.org/docs/manual/QuickStart.html

[编辑] 我还不能发布链接.. 所以将它们输入为文本

于 2014-01-16T10:35:06.627 回答