什么是命令行编译器?

3
什么是命令行编译器?

1
你的意思是“命令行编译器”,而不是由IDE驱动的编译器吗? - Michael Burr
我们不理解你的问题。你能否解释得更好,说得更精确些? - KLE
谁说的可能指的是从命令行调用编译器,通过了解和键入各种命令行参数……与在IDE中运行编译器(可能是同一个编译器)不同,在IDE中,用户使用IDE的GUI设置编译器的参数,而不是使用命令行。 - ChrisW
8
命令行编译器是指可以从命令行运行的编译器。你可以输入“gcc 文件名”来编译一个文件(或类似的命令)。几乎所有的编译器都有命令行版本,而且很多编译器都有图形用户界面,但是命令行仍然存在。我不知道为什么这个问题不真实......它很基础,但是很真诚。如果你误解了这个名字,它与编译“命令行”或类似内容无关。 - Bill K
2
@Bill K:不要阅读修订历史或其他任何东西。 - GEOCHET
2个回答

9
现在,你往往会有开发代码的环境。换句话说,你会得到一个 IDE(集成开发环境),其中包括编辑器、编译器、链接器、调试器和许多其他神奇的工具(如代码分析、重构等)。
你不必输入任何命令,而是更喜欢使用类似于 CTRLF5 这样的按键序列,它可以为你构建整个项目。
但是,在早期,我们必须记住各种晦涩难懂的命令,才能将源代码转换为可执行文件。例如这样优美的结构:
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生成最终产品的格式。


6
一个命令行编译器是你可以从命令行中运行的编译器。你需要输入gcc filename.c 来编译一个文件(或类似的命令)。几乎所有的编译器都有命令行版本,而许多编译器也有图形用户界面(GUI),即使你从未看到过命令行,但命令行仍然存在。- Bill K Oct 5 at 16:27

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接