什么是命令行编译器?

时间:2009-10-05 16:12:37

标签: command-line compiler-construction

什么是命令行编译器?

2 个答案:

答案 0 :(得分:8)

如今,您倾向于拥有开发代码的环境。换句话说,您将获得一个IDE(集成开发环境),它由编辑器,编译器,链接器,调试器和许多其他奇妙工具(代码分析,重构等)组成。

你根本不需要输入一个命令,而是更喜欢像 CTRL F5 这样的关键序列,它将为你构建整个项目。

早些时候并非如此。我们必须记住各种神秘的命令,以便将源代码转换为可执行文件。如此美丽的结构:

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。它会消失并为我们执行所有这些命令,并且只对需要它的文件执行。

当然,在当今世界仍然需要命令行编译器。能够以“无头”模式(无GUI)运行Eclipse等功能,您可以批量编译所有内容,而无需与GUI本身进行交互。

此外,Borland(或本周他们称之为的任何内容)和Microsoft也免费提供命令行编译器(微软也免费提供Express版本)。

gcc也是一个命令行编译器。如果人们需要这样的东西,它可以很好地完成一项工作非常并将其留给其他应用程序来添加前端。

别误会我的意思。我认为整个IDE的东西对于快速的代码/调试周期来说是一个很棒的想法,但我发现,一旦我的应用程序达到了一定的成熟度,我倾向于以我可以使用{{{{{{ 1}}然后运行vim来生成最终产品。

答案 1 :(得分:5)

命令行编译器是您从命令行运行的编译器。

您输入gcc filename.c来编译文件(或类似的东西)。几乎所有编译器都有一个命令行版本,并且许多编译器都有GUI,你永远不会看到命令行,但命令行仍然存在。 - Bill K 10月5日16:27

(比尔K在评论中提供了一个很好的答案......复制在这里并由Mark Harrison轻描编辑,设置为社区维基以便不得代表。)

相关问题