对于使用g ++和gdb的入门,是否有很好的“使用方法”或“入门”指南?
一些背景。体面的程序员,但到目前为止,我已经在Windows中的Visual Studio中完成了所有工作。
我对使用终端来编译文件有一点经验(除了.h和1或2 .cpp以外)。但是除此之外。
任何人都知道如何开始在Linux上编码的好入门?
阅读一些好书,特别是Advanced Linux Programming和Advanced Unix Programming。另请阅读高级bash脚本指南和Linux Documentation Project中的其他文档
显然,在笔记本电脑上安装一些Linux发行版(不是在某些VM中,而是在实际磁盘分区上)。如果您有类似debian的发行版,请aptitude build- dep gcc-4.6 gedit在其上运行以获取许多有趣的开发人员软件包。
aptitude build- dep gcc-4.6 gedit
学习一些命令行技能。学习使用man命令;安装manpages和安装manpages-dev软件包后,键入man man(使用空格键“滚动文本”,然后q退出该键)。另请阅读intro(2)手册页。当您忘记了如何使用cptry等命令时cp --help。
man
manpages
manpages-dev
man man
q
cp
cp --help
即使对于一个人的小型项目,也要使用git之类的版本控制系统。
备份文件。
阅读有关Linux,内核,系统调用,免费软件,X11,Posix,Unix的几个相关的Wikipedia页面
尝试使用命令行。例如,尝试在命令行上进行一周或更长时间的所有操作。避免使用台式机,也不要使用鼠标。学会使用emacs。
emacs
阅读有关GNU make之类的构建器程序的信息
从其源代码(例如,从sourceforge或freecode或github)中检索几个免费软件,并练习构建和编译它们。研究他们的源代码
在命令行中(在终端中)启动的基本技巧(如果未找到命令,则需要安装提供该命令的软件包)。
奔跑emacs; 有一个教程菜单;练习半个小时。
编辑helloworld.c程序(通过main调用某些hello功能)
helloworld.c
main
hello
用它编译gcc -g -Wall helloworld.c -o helloworld; 改进您的代码,直到没有警告。总是传递-Wall到gcc或g++得到几乎所有警告。
gcc -g -Wall helloworld.c -o helloworld
-Wall
gcc
g++
用它运行 ./helloworld
./helloworld
使用调试它gdb ./helloworld,然后
gdb ./helloworld
help
b main
gdb
r
bt
p
c
Makefile
helloworld
make
了解如何从Emacs内部调用make(with M-x compile)和gdb(with M-x gdb)
M-x compile
M-x gdb
了解有关valgrind的更多信息(检测大多数内存泄漏)。也许考虑在某些应用程序中使用Boehm的GC。