什么是命令行编译器?
cc -I/usr/include -c -o prog.o prog.c
cc -I/usr/include -c -o obj1.o obj1.c
as -o start.o start.s
ld -o prog -L/lib:/usr/lib prog.o obj1.o start.o -lm -lnet
简单易懂,不是吗?
使用makefile的时候,我们可以把那些神秘的命令都放在一个复杂的文件里,然后通过在命令行中执行make
来执行所有这些命令,而且只在需要的文件上执行。
当然,在今天的世界中,还是需要命令行编译器的。像Eclipse这样的“无头”(没有GUI)模式让您可以以批处理方式编译所有东西,而无需与GUI本身进行交互。
此外,Borland(或者他们这个星期叫什么名字)和Microsoft也提供免费的命令行编译器(Microsoft还提供他们的Express版本),gcc也是一个命令行编译器。它非常出色地完成了它的工作,并留给其他应用程序添加前端的任务,如果人们需要这样的话。
别误会我。我认为整个IDE的概念对于快速的代码/调试循环是一个很好的想法,但是一旦我的应用程序达到了一定的成熟水平,我更喜欢以我可以用vim
编辑代码并运行make
生成最终产品的格式。
gcc filename.c
来编译一个文件(或类似的命令)。几乎所有的编译器都有命令行版本,而许多编译器也有图形用户界面(GUI),即使你从未看到过命令行,但命令行仍然存在。- Bill K Oct 5 at 16:27