1. c语言是如何编译成二进制
计算机专业有门课程叫做《编译原理》,详细讲述了怎么把高级语言翻译成汇编语言活着机器能看懂的二进制代码。
简单的说,C语言是通过编译器翻译成二进制代码的(就像英译汉的软件把英文翻译成汉语一样。把高级语言翻译成机器语言过程很复杂,学了编译原理就懂了)。还有编译器可以用各种语言编写,C语言可以被用C语言写的编译器来编译。
2. 我们所写的每条c语句,经过编译最终都转化成二进制的机器指令为什么对
C语言中的注释是不会转化为二进制的。
第一句话,注意“每条c语句”,c语句是不包含注释,所以正确。
第二句话,“每条可执行语句和非执行语句”,显然注释语句也被包含在其中,所以错误。
这种题就是玩了个文字游戏
3. 求教大神,经常听说java是解释性语言,和c这样的编译性语言不同,有什么不同,最后还不都是二进制代码
没错,JAVA是一种解释性语言。也就是说,编译处理后的JAVA程序并不是由能被CPU直接识别运行的机器指令构成,而是一种二进制的通用伪代码。
要运行这种由伪代码构成的程序,必须要有JAVA虚拟机JVM。
运行时,从程序中取一条伪指令,在JVM中翻译成一串机器指令,运行。再取一条指令,再翻译,再运行……
使用JVM的缺点,是它的程序运行效率低,速度慢。
使用JVM的优点,就是不同的计算机硬件和不同的操作系统,只要配上对应的JVM,都可以运行同一个JAVA程序。因而JAVA程序的通用性好,用JAVA开发软件的人工效率较高。
JAVA一般用来开发那些对通用性要求高而对运行效率要求不很苛刻的应用程序。
C语言和C++等编译语言的程序,是直接由CPU运行的机器指令,运行时不再需要二次翻译,所以运行时能最大限度地发挥CPU的效能,运行速度很快。但在不同的硬件或操作系统平台上,程序需要按平台重新编译,甚至修改或重写代码。它的程序缺乏跨平台的通用性,开发软件的人力投入较大。
对运行速度有很高要求的软件
,如操作系统,大型游戏的核心引擎,和大多数有较高的运行速度效率要求的应用软件,多用C++这类编译性语言开发。
4. 程序经过系列编译后,生成的可执行程序的代码是二进制的吗
要看是什么语言编译的,一般是生成解释代码.
5. 软件 二进制 不是说软件编译后都是二进制吗 我用记事本打开一个.exe的文件,却不是 0101之类的二进制
乱码,是因为使用的编码类型不一样,肯呢个是utf-8之类的。编码正确显示大概也是是十六进制吧。对exe也不是很了解。你说的编译后是二进制,说的大概是机器码,应该不是把exe用记事本打开就能看到的
6. 程序都是二进制的吗,比如apk,exe这些都是编译好的二进制文件吗。
亲,只要是电子产品都是2进制的,岛国科学家想找到16进制的做替换可惜从计算机开始一直到今天都没成功!
7. C++编译以后是二进制代码二进制代码的程序不是在任何系统下都能运行的
取决于编译器。一般来讲每个操作系统都有各自对应的C++编译器。举个例子,若想在LINUX上运行开发的程序,则需要使用支持Linux平台的编译器。
可以这么理解,语言只是一组规范,而编译器是将这些规范解释到对应的操作系统的机器指令。
另一种语言JAVA,与之相反,是跨平台的。理论上使用一个编译器生成的可执行文件,可以运行在任意一个操作系统上。这是JAVA语言与C++等语言重大不同之一。当然,跨平台的前提是,各个操作系统都有对应的JAVA虚拟机。即,Java程序是基于JAVA虚拟机运行的,而不是直接与系统交互。
8. 源文件被编译成OBJ文件,这个OBJ文件是二进制文件么
是的,它们被称为目标文件,仅仅是你所编写的代码对应的二进制代码等,由你所编写的代码完全决定,并不包含其被调用程序的代码。
9. c语言编译后的是什么东西
C/C++编译连接后,生成的exe文件都是二进制的机器码
快和慢的简单概念就是做同样的一件事情,一个用时少,一个用时多
也就是一个用的指令周期少,一个用的指令周期多
10. 请问用编程软件编写的程序经过编译和链接是二进制代码吗还是要经过操作系统编译才是二进制代码
直接生成的就是二进制代码,只不过一般需要调用操作系统提供的公共函数,而且编译成二进制的格式跟操作系统也有关系,所以软件离不开操作系统,而且在WIN下编译好的程序在LINUX下是不能运行的,反之也一样。