linux编译器使用总结(1)编辑器,编译器,gcc

 

编辑器

用了好久的linux,也逐渐习惯编辑器的使用,相比较使用ide写代码的确不是很“方便”,但看网上说,使用编辑器久了,就会大大提升。

我当初使用编辑器时,纠结过纯文本编辑器和图形化编辑器。最终还是选择了vim(系统自带)

Emacs和Vim使用上差不多。

一开始在vimrc上粘贴一些命令来方便我敲代码,后来实在嫌弃麻烦,直接妥妥的,下一个插件,我的vim已经感觉在编译,敲代码上比拟微软的vs了。

 

顺便安利一下其他的文本编辑器

http://www.sublimetext.com/ 

Sublime Text  具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器。

这个编辑器我在window下也使用,十分推荐,不过linux上我用vim了

https://atom.io/ 

Atom   更加方便写代码,这个称为“属于21世纪”的代码编辑器。免费跨平台,并且整合 GIT 并提供类似 SublimeText 的包管理功能,支持插件扩展,可配置性非常高。是我在GitHub上了解到的。

 Atom并且已经在 GitHub 上开放了全部的源代码。

老牌的vim,Emacs很好用,现在数不胜数的编辑器也很多,找一个适合自己的就行了~

还有我自己目前使用的vim(Vi IMproved) 。

编译器

我大一大二主要使用C/C++  ,依照个人经验来谈一谈,还是gcc对原生语法支持的最好。毕竟是GNU系统的官方编译器。我平时在linux中还是习惯使用gcc(还是因为系统自带)

当然了windows下还是用vc编译器,优化是非常好的,当然也会因为年代问题,在不同版本上的代码有些问题。

平时写小项目,头文件太多,我还是会选择使用vc编译器的visual studio。

轻量级编译器当属clang,现在微软把clang作为前端编译器。

还有什么XL,SunCC各种各样的编译器,几乎每个大型软件公司下都有1款或者多款编译器,作为编程爱好者,向软件开发工程师努力的我们,还是让代码能在主流编译器上都能跑起来,毕竟完全符合C++语法就能跑起来,编译器各有各的优化了。

 

gcc

http://www.javashuo.com/article/p-pbpzikyf-cz.html

//预处理,编译,汇编,链接笔记链接

我使用gcc跑我的C/C++代码,总结下我的使用笔记。

gcc默认不能调试,release版本发布,默认动态链接。

必须使用-g 形成debug,就可以调试。

 

下面以c语言举例,c++类似,字母大小写或者字母重叠有区别而已。 

 

gcc (缺省,不带参数)将目标文件预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out

gcc -o,用于指定输出文件名 ,例如gcc  test -o  exe     完成上一条,并把默认的a.out重命名为exe

gcc -E test.c -o test.i                将test.c预处理输出test.i文件。

gcc -S test.i  -o test.s              将预处理输出文件test.i汇编成test.s文件。

gcc -c test.s -o test.o           将汇编输出文件test.s编译输出test.o文件。

gcc test.o -o  exe                将编译输出文件test.o链接成最终可执行文件exe。

gcc -O2 test.c -o test   使用编译优化级别2编译程序。级别为1-3  ,考虑时间和优化,推荐2