我怀疑这段时间了。我知道当我们编写一个C / C ++程序时,它首先被编译成汇编语言(在经过许多步骤之后),然后转换成机器语言,最终在机器上执行。用HTML编写的代码最终如何转换为机器语言?这是程序:HTML是由浏览器解析的(不知道如何),浏览器最终将其转换为机器语言(通过使用一些内置的编译器?)。任何人都能对它有所了解吗?感谢
答案 0 :(得分:2)
解析HTML并创建表示HTML文档的内存数据结构。然后浏览器遍历该数据结构并在屏幕上呈现它。 HTML被视为数据,不会以执行应用程序源文本的方式执行。
答案 1 :(得分:1)
HTML被解释,而不是翻译成机器代码。浏览器解释标签并知道如何处理它们。它执行必要的操作:格式化一些文本,加载图像等。
你可以想象如果你遵循食谱。您阅读说明,然后自己执行必要的操作,但配方从不做任何事情。这与C或C ++等语言不同,其中代码实际上被转换为机器可以直接执行的代码。
答案 2 :(得分:1)
不是。 HTML不是一种编程语言,这就是为什么它被称为超文本标记语言的原因。 它由浏览器解释(这就是同一页面有时表现不同的原因)。
答案 3 :(得分:1)
HTML未被编入机器语言,因为它不执行指令。
HTML文件未编译,浏览器读取,然后浏览器将描述的元素绘制到屏幕上,从而生成浏览器使用的HTML数据然后编码。
例如,假设您有一个c ++应用程序,它读取文本文件,然后在屏幕上绘制多个形状。假设文本文件如下所示:
Draw Red Circle
Draw Green Box
Draw Yellow Box
您的应用程序将读取此文件,然后在屏幕上绘制形状。这非常类似于HTML的工作方式,除非HTML更复杂。
答案 4 :(得分:0)
HTML在您正在考虑的意义上(当您将其与C / C ++进行比较时)不会转换为“机器语言”。 HTML可以被任何程序解析。该程序如何处理它完全取决于该程序的作者。对于编译的浏览器,它会查看HTML并对其进行解析并以某种方式对其进行操作。显然,一切都在处理器中作为内存中的字节运行,因此,在这方面它最终会成为字节代码,但同样,这与“编译”非常不同。
语义的主要区别在于编译程序时,字节代码是处理器作用的实际指令。然而,这里发生的事情是HTML数据被简单地视为解析器程序读入的ascii字节,然后以某种方式处理。它将以同样的方式处理一段书面文本。该信息并未告诉处理器直接执行任何操作。它是中间层的指令,即读取它们的程序(在您的情况下,再次是浏览器)。