AnHour

AnHour 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 个人简介什么都没有

个人动态

AnHour 提出了问题 · 2020-06-16

编译器是如何工作的?

编译和运行期的加载是两回事:加载是加载二进制格式到不同的内存里。
编译器简单来说就是读入字节流处理后输出字节流的程序。
从读入字节流变换到输出字节流的过程,这块的过程是什么知识点?
在编译原理书中只能看到编译器程序工作后的结果,将输入的高级语言变成相应的输出。
但是老是控制不住去幻想:编译器程序工作过程中,会不会用到cpu和内存的?操纵cpu和内存这些硬件需要01机器码,源代码需要经过编译器或者解释器最终得到机器码才能在硬件上工作。但是编译器本身是一个由算法和数据结构组成的程序,它怎么实现翻译高级语言的动作呢?

关注 2 回答 1

AnHour 提出了问题 · 2020-05-29

DOM对象是用什么语言编写的?

html解释器把html解析成dom树,这个dom树是各种对象的代码、而且是js语言写的代码,并以文件的形式存在吗?
还是直接被解释器解析成内存中的数据结构?

猜测一:如果会解析成文件,假设一个浏览器的渲染引擎、html解释器和js引擎都是c写的,那么这个dom树存在的实体文件,是用js语言写的,还是c语言写的呢?
猜测二:如果经过解析后得到的dom树就不会以文件形式产生,只是被解析成内存中的数据结构。那么当js引擎执行js语句,比如var a = document.querySelctor('div'),js引擎可以直接在内存中获取到代表dom树中的某个元素的数据嘛。就是指,js引擎构建工作环境时,不需要像加载其它库文件,比如加载console库、加载内置对象的库文件,不需要加载dom树所在的文件,可以直接获得并修改dom树嘛
我是初学js,只掌握了少量的知识点,不重视怎么写代码怎么使用js,反而企图利用掌握的少量知识点靠猜测串联出js的工作过程。。涉及我问题知识点的书我一方面找不到,另一方面可能需要较大的代码量我才能看懂;但另一方面我会控制不住幻想出这些问题来,并试图知道答案,妨碍我看视频学习写js。为什么会这样。

关注 2 回答 1

认证与成就

  • 获得 0 次点赞
  • 获得 2 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 2 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2020-05-29
个人主页被 307 人浏览