网易首页 > 网易号 > 正文 申请入驻

C语言尾调用优化很年轻:GCC直到2001年才实现

0
分享至

很多人以为C语言天生就能做尾调用优化,但事实并非如此。以x86等常见架构上的C调用约定为例,被调用的函数并不会清理调用者压入栈的参数,而是由调用者在调用返回后自己完成清理。也就是说,调用者必须在“调用”和“返回”之间插入参数清理动作,这会让本来的尾调用变成非尾调用。

1994年,我观察当时的C编译器时发现,它们对文章里展示的那种尾调用场景并不会做优化。到了2001年,Mark Probst才在GCC中通过一套单独调用约定实现了尾调用优化。他在论文第6.4节列出了当时GCC尾调用优化的一系列限制,其中包括“无法处理间接调用”。对于解释器分发这类需要动态跳转的场景,这恰是一个关键问题。


此后很长一段时间,我没有再仔细跟进GCC的尾调用支持,因为GCC提供的“goto *”已经基本够用。直到去年读到一篇关于“Copy-and-Patch Compilation”的论文,我才重新关注这个问题。论文作者Xu和Kjolstad使用了尾调用优化,而且是用10万个代码片段做实验;相比之下,我们在Gforth中只用了不到2000个片段。如果GCC和Clang真能支持10万量级的尾调用,那么解释器实现中就能采用更灵活、更高效的技术。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
高速服务区“开水间”英文标识竟是“Open Water rooms”,网友吐槽“中文直译闹笑话”,运营单位:将整改

高速服务区“开水间”英文标识竟是“Open Water rooms”,网友吐槽“中文直译闹笑话”,运营单位:将整改

极目新闻
2026-08-11 17:54:06
懵了!连续32个一字跌停杀到底,从53跌到0.39元,股民彻底套牢!

懵了!连续32个一字跌停杀到底,从53跌到0.39元,股民彻底套牢!

财经市界
2026-08-11 08:11:31
钟睒睒四上央视,一层层拆穿了电商平台的底裤:消灭中间商的,成了最大的中间商

钟睒睒四上央视,一层层拆穿了电商平台的底裤:消灭中间商的,成了最大的中间商

狠人搞钱
2026-08-10 08:03:11
中签=中枪?宇树科技219倍市盈率,这是财富盛宴还是顶级深坑?

中签=中枪?宇树科技219倍市盈率,这是财富盛宴还是顶级深坑?

盘和林看经济
2026-08-11 17:33:10
网红逍遥客为救父亲氨气中毒去世,年仅36岁,姐姐:弟弟每天直播宣传东北风土人情,没能见他最后一面成此生遗憾

网红逍遥客为救父亲氨气中毒去世,年仅36岁,姐姐:弟弟每天直播宣传东北风土人情,没能见他最后一面成此生遗憾

极目新闻
2026-08-11 18:04:02
过于离谱!实习护士在手术期间自拍、发朋友圈,还曝光了孕妇裸体、乙肝病情,医院已经介入调查

过于离谱!实习护士在手术期间自拍、发朋友圈,还曝光了孕妇裸体、乙肝病情,医院已经介入调查

谭谈社会
2026-08-11 10:19:39
53岁王军霞现状:坚持长跑,香港美国两边住,与3婚丈夫合养4个娃

53岁王军霞现状:坚持长跑,香港美国两边住,与3婚丈夫合养4个娃

胡一舸南游y
2026-08-07 00:35:03
武统还没开始,上百台军飞行员集体跑路,台专家:统一已有新模式

武统还没开始,上百台军飞行员集体跑路,台专家:统一已有新模式

万物知识圈
2026-08-11 09:45:05
伊朗陆军司令放狠话:如果美军胆敢踏足伊朗领土,就要斩断他们的脚

伊朗陆军司令放狠话:如果美军胆敢踏足伊朗领土,就要斩断他们的脚

政知新媒体
2026-08-10 19:58:10
涉嫌严重违纪违法,张玉成被查

涉嫌严重违纪违法,张玉成被查

都市快报橙柿互动
2026-08-11 13:35:23
一针见血!伊布谈阿尔瓦雷斯转会:不是球员背叛,是他的野心超出马竞上限

一针见血!伊布谈阿尔瓦雷斯转会:不是球员背叛,是他的野心超出马竞上限

体育闲话说
2026-08-11 17:42:04
有人发帖:体制内已经裁了120万编外临时工,网友却说:我看到的是无人被裁,每天还在增加!

有人发帖:体制内已经裁了120万编外临时工,网友却说:我看到的是无人被裁,每天还在增加!

黯泉
2026-08-11 09:57:25
17个月后欧盟大门或关闭,996就是强迫劳动,9成中小企业却还没醒

17个月后欧盟大门或关闭,996就是强迫劳动,9成中小企业却还没醒

浯江孤舟
2026-08-10 10:00:15
油价大跌“超1.57元/升”,连降3次的油价,8月14日或再大降,今年第5次“超500元/吨”大跌中!

油价大跌“超1.57元/升”,连降3次的油价,8月14日或再大降,今年第5次“超500元/吨”大跌中!

油价早知道
2026-08-10 08:56:36
这一次,TFBOYS三人的“江湖地位”一览无遗,有人悄悄“掉队”了

这一次,TFBOYS三人的“江湖地位”一览无遗,有人悄悄“掉队”了

情感大头说说
2026-08-10 05:30:40
官宣!正式加入广州男篮

官宣!正式加入广州男篮

刺猬篮球
2026-08-11 14:58:22
激光灭蚊从3米原型到量产,核心迭代是什么?离北湾还有多远?

激光灭蚊从3米原型到量产,核心迭代是什么?离北湾还有多远?

普陀动物世界
2026-08-10 13:28:10
重庆某知名商场宣布闭店,商家纷纷骨折抛售!外资百货大败退

重庆某知名商场宣布闭店,商家纷纷骨折抛售!外资百货大败退

小树聊房
2026-08-11 15:32:44
歌唱家关牧村:我这辈子做的最正确的决定就是,45岁带娃嫁给高官,如今被宠了27年

歌唱家关牧村:我这辈子做的最正确的决定就是,45岁带娃嫁给高官,如今被宠了27年

品茗赏娱
2026-08-10 22:34:24
震惊!网传广西一老人和同村村民进城吃席,却被放在路边不管,经历3个多小时才找回来

震惊!网传广西一老人和同村村民进城吃席,却被放在路边不管,经历3个多小时才找回来

火山詩话
2026-08-11 07:04:48
2026-08-11 20:19:00
码上闲叙
码上闲叙
有态度网友ytd
299文章数 87关注度
往期回顾 全部

科技要闻

AI大战变天:扎克伯格突然回头

头条要闻

40万人同时在线围观 "26版《西游记》"演成了当代职场

头条要闻

40万人同时在线围观 "26版《西游记》"演成了当代职场

体育要闻

NBA老顽童,抽着大麻喝着小酒告别了

娱乐要闻

“雅典娜”确认被害 细节令人发指!

财经要闻

AI泡沫的剧本,是2008年的次贷危机?

汽车要闻

定价6.39万起 零跑A05能否再造女性代步车爆款?

态度原创

本地
家居
亲子
教育
军事航空

本地新闻

黄州一夜,苏轼写给普通人的月光

家居要闻

2026建博会(广州) 公装联探展交流活动

亲子要闻

情感共鸣

教育要闻

2026出国留学项目院校推荐:不同需求预算下的公办合规项目方案盘点

军事要闻

乌克兰袭击俄罗斯炼油厂 已致13死78伤

无障碍浏览 进入关怀版