我在Windows平台上使用Visual Studio作为IDE在C#中编写了一个应用程序,但我现在已经切换到linux操作系统并使用VI,sublime text和gedit到目前为止在linux中进行编程(使用C)。 />
虽然我不想讨论是否使用IDE,但这是个人选择,但很多人都建议如果你想深入学习程序或系统中发生的事情,你就不应该使用IDE的。即使是“以艰难的方式学习C”,也有同样的建议
所以,我期待学习GNU工具包(gcc,gdb等),这样我就可以用这些工具提高我的编程技巧。我已经开始使用vi编辑器了
唯一的问题是我无法找到一些关于这些的好教程
到目前为止,无论我学到什么,都要么是在SO上与这些工具相关的问题,要么是在终端上使用man
命令。
我知道学习曲线非常陡峭,但我愿意把所有的时间和精力都花在这上面,我相信学习这些工具一定会让我受益。
任何人都可以为这些指出一些好的教程吗?
答案 0 :(得分:2)
你可以查看W. Richard Stevens的书籍:http://www.kohala.com/start/他们写得很好并且彻底地描述了这个领域。它们甚至以源代码形式免费提供:)
或者您可以在stackoverflow上询问您的问题:)
顺便说一句:学习类似nix的环境的一个好来源是info
和man
一起使用。例如,检查info libc
以获得有关示例的系统调用的相当不错的介绍,info gcc
为您提供GCC文档等等。在所有的C语言和UNIX都是两个连体双胞胎之后,它们彼此之间就不存在了。
答案 1 :(得分: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
[edit]我还无法发布链接..所以将它们键入文本