c语言是不能直接被执行的
你从哪里听说c语言是被直接执行的?
编程语言俗称“计算机语言”,种类非常的多,总的来说可以分成机器语言、汇编语言、高级语言三大类。电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。 目前通用的编程语言有两种形式:汇编语言和高级语言。
由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。
追问额 刚提了个问 别人是这么跟我说的~ 难道是我理解有误?
除了高级低级之外,还有另外一种区分语言的方式,解释语言与编译语言。
编译语言:源代码经过编译之后生成的可执行文件,文件的内容能够直接被CPU识别,并且运行。这种语言生成的程序由于CPU就可以直接识别了,所以不需要任何其它工具。但程序对CPU的依赖性很大,换一个架构可能就需要重新编译甚至重新编写程序。
汇编和C都属于这一种。
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。
C
语言程序的步骤:
1.编辑
(把程序代码输入,交给计算机)
。
2.
编译(成目标程序文件.obj)
。
编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
编译这一步是程序猿写好了之后马上就自动编? 还是在客户端上进行的?
追答编译:将源代码转换为机器可认识代码的过程。
编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。
C源程序->编译预处理->编译->优化程序->汇编程序->链接程序->可执行文件
既然可执行文件生成时就已经被编译过了 so 用户拿到手的用C语言编的可执行文件无需编译就可被CPU直接读取? 对吧
追答你再问详细我也不懂啊
反正c语言直接给cpu cpu是不认识的 cpu 只认0101
这个过程是在用户的电脑上进行的吗? 还是在编完之后的时候就转成了汇编或者机器语言 然后 用户拿到手的程序 无需编译就可直接执行?
追答看你运行在什么操作系统,假如是单片机,是直接写入机器码,而window系统就是生成可执行文件exe,至于要不要编译,你问微软吧。汇编CPU也不懂得,必须是机器码才能识别。
追问什么是单片机... ←_←
C语言为什么可以被CPU直接执行
C语言是不可以被CPU直接执行的,CPU能执行的只有二进制机器码,因此C语言写的源码需要经过预处理阶断、C语言编译阶断、汇编阶断和链接阶断之后,生成的可执行文件才可以被CPU所执行。
c语言算是应用程序吗?它必须在某种操作系统之上运行吗?
在某些情况下,C语言也可以用于编写不依赖于操作系统的程序,例如嵌入式系统。在这些系统中,C语言程序可以直接编译成机器代码,并在硬件上运行,而无需一个完整的操作系统环境。总结来说,C语言是一种编程工具,它既可以在操作系统上运行,也可以在无操作系统的环境中运行,具体取决于程序的设计和目标平...
计算机能不能直接执行用C语言编写的源程序
不能。C语言也属于高级语言的范畴,即人可以阅读。但是计算机不理解“如果”和“for”是什么意思,所以编译器需要把高级语言命令翻译成计算机可以理解的0和1指令,这样计算机就可以执行它们。用高级语言编写的程序称为“源程序”。用二进制代码表示的程序称为“目标程序”。用汇编语言编写的程序称为汇编程序...
计算机能不能直接执行用C语言编写的源程序
不能。C语言也属于高级语言的范畴,即人可以阅读。但是计算机不理解“如果”和“for”是什么意思,所以编译器需要把高级语言命令翻译成计算机可以理解的0和1指令,这样计算机就可以执行它们。用高级语言编写的程序称为“源程序”。用二进制代码表示的程序称为“目标程序”。用汇编语言编写的程序称为汇编程序...
C语言怎么写直接在硬件上运行的代码
这部分负责直接参与分配内存和控制CPU工作分配,而这些工作是C无法做到的。单片机里存有已经用汇编语言所写的C语言的运行系统,所以可以直接调用。如果你在一台没有安装任何系统的电脑上运行C程序是绝对不可能的。谁来给你分配内存?谁来调整进度的分配和调用?你以为C程序可以自己做到这些?
C语言程序在计算机上可以直接运行吗
C语言程序在计算机上是不可以直接运行的。需要编译成为EXE程序后才能在计算机上运行。
为什么说C语言是直接对硬件操作的语言?
而C语言介于高级和低级之间,代码容易理解,还可以用指针操纵硬件(不过还是很局限的,CPU就无法之间操纵了),执行效率为80%,对于一直语言来说很不错了。Basic语言完全是高级语言,代码简单,但是不具备操纵硬件能力,也就是你想写个代码直接让内存怎么怎么样,内存不听你的,只听编译好的程序的。而且执...
c语言和c#语言区别
c语言编译生成的可执行文件直接在真实CPU上运行,而c#则通过虚拟机执行,使得开发人员无需考虑特定硬件架构的差异。c语言在开发性能关键应用时具有优势,而c#则在构建大型、复杂应用方面表现突出。两者在编程范式、语言特性以及执行方式上存在差异,因此在选择语言时需根据具体需求和项目目标进行考量。
用c语言编写的程序不能被计算机直接识别
1. 计算机无法直接理解或执行用C语言编写的程序。2. 必须将C语言源代码转换成机器语言代码,这个过程称为编译。3. 编译器负责将C语言程序转换成特定计算机架构的机器语言。4. 转换后的机器语言程序可以被计算机的中央处理器(CPU)直接执行。5. 因此,C语言程序的执行过程包括编写源代码、编译源代码以及...
汇编语言、机器语言 C语言
计算机语言通常分为三类:即机器语言,汇编语言和高级语言。 (了解内容一) 1. 机器语言 机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。 用机器语言编写程序,编程人员要首先熟记所用...