编程语言是怎样开发出来的???VB,C++ 之类的 汇编等 java
1个回答
展开全部
不论运行在什么硬件上,编程语言是相同的(除了汇编语言之外),因为“语言”是一种逻辑,与硬件无关。根据机器的不同而不同的,是将“逻辑”真正变成“程序”的编译器。
每一种语言有其固定的语法,某种语言在某种机器上的编译器的工作,就是分析用户输入的程序(并找出错误,如果有的话),然后翻译成该种机器的指令码。
也就是说,高级语言编写的程序在运行时,并不是运行用户写的“代码”,而是经由编译器翻译过的二进制汇编指令码。这种指令码因机器不同而异,因此要用不同的编译器(或者说是XX编译器的XX版)。
举个例子,C语言里的“int
a=0;”
编译器在编译到这一行时,发现"int"是要定义一个新变量,接着往后读发现名字是“a”。接着查找已定义变量表看有没有重名的,有就报错。在没错的情况下,...不论运行在什么硬件上,编程语言是相同的(除了汇编语言之外),因为“语言”是一种逻辑,与硬件无关。根据机器的不同而不同的,是将“逻辑”真正变成“程序”的编译器。
每一种语言有其固定的语法,某种语言在某种机器上的编译器的工作,就是分析用户输入的程序(并找出错误,如果有的话),然后翻译成该种机器的指令码。
也就是说,高级语言编写的程序在运行时,并不是运行用户写的“代码”,而是经由编译器翻译过的二进制汇编指令码。这种指令码因机器不同而异,因此要用不同的编译器(或者说是XX编译器的XX版)。
举个例子,C语言里的“int
a=0;”
编译器在编译到这一行时,发现"int"是要定义一个新变量,接着往后读发现名字是“a”。接着查找已定义变量表看有没有重名的,有就报错。在没错的情况下,编译器为程序的数据空间增加一个int值的大小(这里就出现“因机器而异”的情况了,不同电脑int大小是不一样的),在变量表里增加“a”的记录,并记录下增加的空间的地址。然后再往后读,发现赋了初值0,于是把那个空间填上0。之后,编译器遇到分号,说明一条语句结束,接着处理下一条。
注意:上面的说明为了便于理解,没有区别编译过程中的各个部分,如预处理器、编译器(不同于刚才所说的)、汇编器、链接器等等,而是用了“编译器”统称。另外也省略了目标文件等具体编译过程的介绍,只是提供了一个大概的概念。关于各部分的详细介绍还请百度。
楼上tseug你这是复制的吧⋯⋯⋯⋯⋯⋯不切题啊⋯⋯
每一种语言有其固定的语法,某种语言在某种机器上的编译器的工作,就是分析用户输入的程序(并找出错误,如果有的话),然后翻译成该种机器的指令码。
也就是说,高级语言编写的程序在运行时,并不是运行用户写的“代码”,而是经由编译器翻译过的二进制汇编指令码。这种指令码因机器不同而异,因此要用不同的编译器(或者说是XX编译器的XX版)。
举个例子,C语言里的“int
a=0;”
编译器在编译到这一行时,发现"int"是要定义一个新变量,接着往后读发现名字是“a”。接着查找已定义变量表看有没有重名的,有就报错。在没错的情况下,...不论运行在什么硬件上,编程语言是相同的(除了汇编语言之外),因为“语言”是一种逻辑,与硬件无关。根据机器的不同而不同的,是将“逻辑”真正变成“程序”的编译器。
每一种语言有其固定的语法,某种语言在某种机器上的编译器的工作,就是分析用户输入的程序(并找出错误,如果有的话),然后翻译成该种机器的指令码。
也就是说,高级语言编写的程序在运行时,并不是运行用户写的“代码”,而是经由编译器翻译过的二进制汇编指令码。这种指令码因机器不同而异,因此要用不同的编译器(或者说是XX编译器的XX版)。
举个例子,C语言里的“int
a=0;”
编译器在编译到这一行时,发现"int"是要定义一个新变量,接着往后读发现名字是“a”。接着查找已定义变量表看有没有重名的,有就报错。在没错的情况下,编译器为程序的数据空间增加一个int值的大小(这里就出现“因机器而异”的情况了,不同电脑int大小是不一样的),在变量表里增加“a”的记录,并记录下增加的空间的地址。然后再往后读,发现赋了初值0,于是把那个空间填上0。之后,编译器遇到分号,说明一条语句结束,接着处理下一条。
注意:上面的说明为了便于理解,没有区别编译过程中的各个部分,如预处理器、编译器(不同于刚才所说的)、汇编器、链接器等等,而是用了“编译器”统称。另外也省略了目标文件等具体编译过程的介绍,只是提供了一个大概的概念。关于各部分的详细介绍还请百度。
楼上tseug你这是复制的吧⋯⋯⋯⋯⋯⋯不切题啊⋯⋯
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询