国际C语言混乱代码大赛

✍ dations ◷ 2024-09-20 12:21:04 #C语言,幽默与讽刺奖项,程序设计竞赛

国际C语言混乱代码大赛(IOCCC, The International Obfuscated C Code Contest)是一项国际程序设计赛事。从1984年开始,本赛事每年举办一次(1997年、1999年、2002年、2003年和2006年例外)。本赛事的目的是写出最有创意和最让人难以理解的C语言代码。

从在线提交开始,作品需要经过好几回合的裁判审核。评判作品的标准基于滥用混乱代码的程度(以及滥用程度的创造性)。通过最后一轮审核的作品会被归成特别的一类以示嘉奖,例如“最滥用C预处理器”或者“最古怪的行为”,并且发表在官方IOCCC网站。获胜作品将被公示于IOCCC网站,并以此作为奖赏。

IOCCC是由蓝登·克特·诺尔(Landon Curt Noll)与拉里·贝索(Larry Bassel)在1984年受雇于国家半导体(National Semiconductor)的Genix程序移植事业群时开始的。比赛的点子是来自他们俩比较彼此有关于它们得修正的某些写得很烂的代码笔记。

每年比赛开始前,IOCCC的比赛规则会张贴在其网站上。规则每年不同,并且会随附上一组指导方针以试图表达规则的精神。

这些规则通常是蓄意书写成文,伴随着精巧的漏洞让参赛者有所鼓励去发现并滥用。比赛结果就是“软件开发过程的讽刺体”。作品占某些规则里头的漏洞之便者(不管它是否通过最后一轮审核)会造成下年度比赛规则的调整(虽然常常其他微妙的漏洞又会被裁判故意放水)。

出于该赛事的本质,作品通常运用奇怪或者不寻常的语法窍门,如利用C预处理器去做不合设计本意的事、或者避免C编程语言正常使用的建构式,以用更暧昧难解的方式来达到同样效果。举例来说,下面是2004年得奖作品里的引言:

许多卓著的贡献包括:

本竞赛有着自然而然在C语言标准规范边际游走的编程本质,或者触发极少用到的编译器编译后代码路径。这导致许多过去的作品可能无法直接通过当代编译器,并且某些可能甚至造成该程序崩溃。

在代码限定于区区几千字节条件下,参赛者得想尽办法做复杂的事——例如某2004年大赛得奖者代码实际上是个操作系统。

下面是1988年参赛作品:透过自己占的面积来计算圆周率,该作品是以K&R C写成;代码得做些小修改才能在ANSI C下运行。

 #define _ -F<00||--F-OO--; int F=00,OO=00;main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO() {             _-_-_-_        _-_-_-_-_-_-_-_-_     _-_-_-_-_-_-_-_-_-_-_-_   _-_-_-_-_-_-_-_-_-_-_-_-_-_  _-_-_-_-_-_-_-_-_-_-_-_-_-_-_  _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_  _-_-_-_-_-_-_-_-_-_-_-_-_-_-_  _-_-_-_-_-_-_-_-_-_-_-_-_-_-_   _-_-_-_-_-_-_-_-_-_-_-_-_-_     _-_-_-_-_-_-_-_-_-_-_-_         _-_-_-_-_-_-_-_             _-_-_-_ }

飞行模拟器

另一个示例是下面这个灵巧的飞行模拟器,为1998年IOCCC得奖作品:

相关

  • 伊利湖伊利湖(英语:Lake Erie)是北美洲五大湖之一,也是世界第十三大湖。伊利湖的名字来源于原在南岸定居的印地安伊利部落。伊利湖的面积有24,000平方公里,平均深度19米,蓄水量483立方公
  • 四碘甲状腺素甲状腺素是甲状腺激素之一,由氨基酸和碘组合而成。甲状腺素有促进细胞代谢,增加氧消耗,刺激组织生长、成熟和分化的功能,并且有助于肠道中葡萄糖的吸收。垂体前叶的促甲状腺激素
  • 卡尔达诺吉罗拉莫·卡尔达诺(Girolamo Cardano,1501年9月24日-1576年9月21日),意大利文艺复兴时期百科全书式的学者,主要成就在数学、物理、医学方面。名字的英文拼法为Jerome Cardan,所以
  • 视物显小症视物显小症是一个会影响人类视知觉的情况,是空间感知障碍的一种,患者眼前的东西看起来会比实际体积小。视物显小症可能要么来自眼睛影像的光学扭曲(例如因眼镜),要么来自某种神经
  • 发声的响片响片训练是一种训练动物的方式,它使用制约增强的方法来“表示”(标记)动物当下正在做的行为是正确的。响片训练原本用在不适合传统服从训练的动物身上,如海豚和鸽子。由于动物训
  • 克莱森缩合反应克莱森缩合反应(Claisen缩合反应)是指两分子羧酸酯在强碱(如乙醇钠)催化下,失去一分子醇而缩合为一分子β-羰基羧酸酯的反应。参与反应的两个酯分子不必相同,但其中一个必须在酰基
  • 卧倒并掩护《卧倒并掩护》(英文:Duck and Cover)是一部1951年由美国联邦政府民防管理局制作,用以教导民众应对原子弹攻击的民防社会指导影片,片长约9分钟。这一影片制作于苏联开始核试验后
  • 台南市公共自行车租赁系统台南市公共自行车租赁系统(英文:T-Bike)是台湾台南市由台南市政府交通局负责建置的公共自行车租赁系统,2016年8月8日正式营运。截至2020年5月8日,T-Bike已在台南市建置70个站点。
  • 加筋板在结构设计中,在垂直于面板方向使用加筋条,以提高面板和整体结构的承载能力,加筋条和面板为整体结构,或者采用胶结或焊接的方式连接在一起。加筋条的形状有“T”形,“I”形,“J”
  • 九三年《九三年》是法国作家雨果生平的最后一部小说。该书出版于巴黎公社之后的1874年,反映了作者对法国革命的思考。《九三年》是指1793年,这一年是法国大革命之后,1792年9月法兰西