编译器一定
不是的。以.c结尾的是C语言的源文件。文本文件可以不加文件名,也可以按windows习惯加.txt后缀。
linux系统并不是以后缀名来识别文件类型的。有时候有相应后缀名是为了相应的程序能识别,如C语言编译器识别.c文件。
㈡ C++编译器一定要按装英文版本的吗
编译器的核心实际上是命令行的,无所谓英文版(命令行只认英文)。
如果是IDE,很多都有汉化版的。当然不一定要装英文版。
不过VC++6的话,汉化质量实在太差(据说还有莫名其妙的BUG),还不如用英文版。
Microsoft Visual Studio中带VC++,有官方中文版。LZ可以下个VS2008 Team Suite。不过文件相当大,对于新手来说不怎么实用。
Dev-C++比较小,对标准的实现也比较好,不过调试功能很烂。
C-Free应该也可以用。
像Turbo C++就太老了,不推荐。
㈢ 编译原理(编译器)是将高级语言翻译成机器语言的原理(或者工具)吗
不一定吧!编译器是将一种语言翻译为另一种语言的计算机程序。编译器将源程序(source language) 编写的程序作为输入,而产生用目标语言(target language )编写的等价程序。通常地,源程序为高级语言(high-level language ),如C或C + + ,而目标语言则是目标机器的目标代码 (object code,有时也称作机器代码(machine code )),也就是写在计算机机器指令中的用于运行的代码。这一过程可以表示为: 源程序→编译器 →目标程序
㈣ 用JAVA反编译器编译出来的语言一定是原来的正确源代码吗
void 是没有返回值啊。你用return是不对的,这个程序 不会返回任何值得。如果你想有返回值就不要用 void 定义阿。反编译不一定是原来的源代码。实现一个项目的代码段可以有很多种写法的。
㈤ 编写的程序一定要有编译器才能运行吗
不用,编译器只是有负责将编译语言翻译为机器语言的作用,编译后的程序就是机器语言了。可以直接在计算机上运行
㈥ 用c++写的程序,一定可以在c编译器中编译
是的
这两种语言中,C语言出现的更早,C语言不兼容C++,不能使用C语言编译器来编译C++程序。
但是C++编译器完全兼容C语言,你可以用C++编译器来编译C语言的程序的程序。目前常见的编译器都是C++编译器,可以用来编译两种语言的程序。
㈦ 写编译器必须要会汇编语言吗
这种事情从理论层面来说:不一定要与汇编语言有什么瓜葛。你完全可以让你的编译器直接编译成机器码。大部分C/C++编译器(不是所有的)之所以先编译成汇编语言,是为了解构。从C到汇编的“翻译”相对容易(都算是抽象语言,有语义的),同时汇编语言的编译器效率很高,可以生成质量非常高的机器码。所以两者结合,可以突出各自的优势,减少复杂度。
但是如果有必要,当然也可以直接编写产生机器码的编译器,实际上Java/C#这样的半编译语言和Js这样的脚本语言,都没有先转换成汇编的这一步。前者是因为强大的虚拟机技术,直接把字节码转换成机器码执行了,后者是灵活的解释器,实时把代码转换成机器码执行,而完全没有“编译”这一步(当然如果深究的话,出于性能考虑,很多高性能的解释器也会提前“预编译”一部分代码,但这是具体实现,不是宏观概念)。
