Soft_Job 板


LINE

※ 引述《dragoncfe168 (梅长苏)》之铭言: : 请问一下 : 为何直译器将source code转译成机器码, : 不会产生不同电脑的机器语言不同 而无法执行的问题??? : 反观同样把source code转译成机器码的编译器 : 却会有此类问题呢??? 虽然大家已经回很多了,但再回一篇应该也没关系吧。 试试看能不能用简单的方式来类比,当然因为是类比,所以不是那麽精确, 例如转成机器码这件事本身还牵扯到 Linker 等等的,就先不管了啦。XD 从後续的推文来看,原 PO 提到的其实有三种东西: 1. 编译成机器码的编译器模式 (Ex. 传统的 C/C++ 编译器) 类比: - 书面讲稿翻译,从中文翻成英文,管你讲者念不念,我全部一次 翻译好给你。 - 听众语言(目标平台)不同,下一场的听众是法国人怎麽办?找个 懂中文和法文的翻译者呗。 - 所以通常说 C / C++ Compiler,其实省略了目标平台的描述。 就算同样是 C 编译器,也不一定每种目标平台都支援,可以说 是不同的程式。 - 因为是书面翻译,翻译完的东西可以给会念英文的人帮你念,翻译 者翻完就可以滚蛋了。 2. Python 等直译式语言 类比: - 现场口译,从中文翻成英文。但只有当你讲的时候我才一句一句 翻译,就算你中文讲稿上有,但讲者没讲出口的字句,口译者就 不会去翻译。 - 听众语言(目标平台)不同,下一次的听众是法国人怎麽办?找个 会从中文翻成法文的口译者呗。 - 所以通常说某种语言的直译器,其实省略了目标平台的描述。就 算同样叫做 Python 直译器,但他们懂的目标语言可能不同,可 以说是两只不同的程式。 - 因为是口译,所以演讲的时候翻译者 (Python 直译器) 一定要在场。 3. .NET / Java 等编译成中介语言的编译模式 类比: - 书面翻译後再口译。我通通先翻成某种为了特殊目的而创立的语言, 例如逻辑语[1],然後再找个逻辑语的口译来现场翻译。 - 所以如果要从中文翻译成英文,要做以下两个步骤: 1. 先把中文翻译成逻辑语 (Java Compiler / 你下 javac 时在做的事) 2. 把逻辑语翻译成英文念出来(Java Runtime / 你下 java Main 时在做的事) - 听众语言(目标平台)不同,下一次的听众是法国人怎麽办?找个会 把逻辑语翻成法文的译者呗。 - 所以我们说 Java / .NET 执行环境,其实省略了目标平台的描述。 就算同样叫 Java 执行环境,他们懂的目标语言可能不同,可以说是 不同的程式。 - 因为某种程度上来说也是口译,所以翻译者 (Java Runtime) 一定要在场。 [1]: https://zh.wikipedia.org/wiki/%E9%80%BB%E8%BE%91%E8%AF%AD 至於这三种模式能不能跨平台,那就要看你怎麽去定义「跨平台」这件事了。 -- ~ 白马带着她一步步地回到中原。白马已经老了,只能慢慢地走, 'v' Brian Hsu 但终是能回到中原的。江南有杨柳、桃花,有燕子、金鱼…… // \\ ( 坟 墓 ) /( )\ 但这个美丽的姑娘就像古高昌国人那样固执。 【白马啸西风】 ^`~'^ http://brianhsu.moe 『那都是很好很好的,可我偏不喜欢。』 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.251.151.199
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1525831828.A.C97.html ※ 编辑: brianhsu (60.251.151.199), 05/09/2018 10:17:34
1F:→ pttworld: 蟒蛇用bytecode 05/09 11:26
2F:推 dragoncfe168: 太感谢你了!这篇解说堪称经典~值得M起来供後世传颂! 05/09 11:49
3F:推 dragoncfe168: 当今市面上尚无一教师与书籍能做如此卡通化的阐述.. 05/09 12:04
4F:推 dragoncfe168: 倘若补教老师皆能有如此统整归纳类比能力~ 05/09 12:09
5F:→ dragoncfe168: 天下万千莘莘学子~又何愁学不会程式呢? 05/09 12:14
6F:推 koushimei: 这样解释稍微有点概念了! 05/09 12:41
7F:推 senjor: 其实如果有从计算机概论从头学,应该还是会懂啦... 05/09 12:43
8F:推 peanut97: 因为能不能清楚解释这个跟收入没有太大关系XD 05/09 12:47
9F:推 senjor: 其实很多工作不懂或没有记起来这个也没有什麽影响 XD 05/09 12:56
10F:推 jojojen: 推 05/09 13:51
11F:推 gname: 推一个~ 05/09 17:10
12F:推 soheadsome: 有JIT的范例 有办法在说看看AOT的范例吗xde 05/09 20:01
13F:推 Awenwen: 厉害了 05/11 13:52







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping 或 站内搜寻

TOP