那些出现在电影中的程序代码

高科技无关的电影也偶尔会出现一些跟计算机相关的镜头。文本搜罗的是在各种电影中出现过的代码,它们有的是黑客脚本,有的是绝密文件,有的就是为了摆酷,文中对这些代码都有截屏,你是否能看出它们是什么语言?

一、《钢铁侠》,c语言

最近我重新看了一遍《钢铁侠》,发现了一些有趣的事情。在钢铁侠的人工心脏第一次“初始化启动”期间,在那个“恐怖分子”的洞穴里,一些长长短短的C语言代码出现在那个伪造的笔记本电脑屏幕上。

屏幕上的这些代码,尽管从语法上看是少了一些重要的字符,例如分号,但的确是有效的C语言代码。写的非常规范,以至于我想弄清楚这些代码是从哪里来的。

使用谷歌一搜,我就找到了它。这段代码实际上是这样的:

send[0] = 0x65; 
    send[1] = 1; 
    send[2] = 3; 
    send[3] = 5; 
    send[4] = 7; 
    send[5] = 11; 
 
    if (rcx_sendrecv(fd, send, 6, recv, 1, 50, RETRIES, use_comp) != 1) { 
    fprintf(stderr, "%s: delete firmware failed\n", progname); 
    exit(1); 
    } 
 
    /* Start firmware download */ 
    send[0] = 0x75; 
    send[1] = (start >> 0) & 0xff; 
    send[2] = (start >> 8) & 0xff; 
    send[3] = (cksum >> 0) & 0xff; 
    send[4] = (cksum >> 8) & 0xff; 
    send[5] = 0; 
 
    if (rcx_sendrecv(fd, send, 6, recv, 2, 50, RETRIES, use_comp) != 2) { 
    fprintf(stderr, "%s: start firmware download failed\n", progname); 
    exit(1); 
    } 
 
    /* Transfer data */ 
    addr = 0; 
    index = 1; 
    for (addr = 0, index = 1; addr < len; addr += size, index++) {

面的这段代码来自一个乐高积木(LEGO,一种可编程的积木游戏)的固件下载程序,由斯坦福大学的Kekoa Proudfoot写于1998年。你可以从这里下载完整的程序。它使用的是Mozilla Public License许可协议,这跟火狐浏览器和其他很多开源软件使用的许可协议一样。

电影中使用这段代码,似乎是在暗示要给钢铁侠下载一套固件程序,或者是把固件程序上传到乐高积木控制系统里,总之,钢铁侠的诞生是跟乐高积木多少是有关联的。

所以,看起来,钢铁侠要么是使用了开源软件,要么是由乐高积木程控做成的。我不知道那个更酷。

二、《龙纹身女孩》,SQL

电影《龙纹身女孩》中的女主人公搜索凶手时使用的很显然是真正的SQL语句——虽然从SQL的效率上她的技术并不是很高。完整的SQL代码可以从这里查看。

三、《超人》,BASIC

这个家伙对《超人II》中出现的代码进行了详细的分析,从哪里你可以找到屏幕上出现的代码的完整源码。

四、《忍者神龟》,Turbo C

《忍者神龟》中出现的这段代码看起来很像Turbo C。

五、《大逃杀》,C语言

在电影《大逃杀》出现的这段代码是nmap的源代码。NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包。

六、《星际之门:真理之舟》,JavaScript

在电影《星际之门:真理之舟》中,出现了一段从一个加拿大银行网站上拷贝出来的Javascirpt代码。

七、《弯刀杀戮》,Java

在电影《弯刀杀戮》中出现了一段Java代码,是用来执行一个简单的TCP server任务,它用当前的日期和时间响应客户端。

八、《侏罗纪公园》,shell

电影《侏罗纪公园》中出现的这段代码看起来很像是为一台UNIX机器写的shell脚本

九、《剑鱼行动》,C语言

电影《剑鱼行动》中的C程序代码是来自DES cracking program

十、《社交网络》,perl

在电影《社交网络》中出现了很多代码,而且看起来都像是专门为这个电影而写的。

十一、《欧罗巴报告》,ActionScript

在电影《欧罗巴报告》中出现了这些ActionScript 3 颜色选择器代码。

十二、《燃眉追击》,未知

《燃眉追击》这部电影我没有看过,也不知道上面这个图片出现在什么场景中。这段代码是什么语言?有谁看出来了,请留在评论里,我会更新这段内容。谢谢.

十三、《反托拉斯行动》,Java

在电影《反托拉斯行动》中这两个家伙盯着看的这段“压缩”代码来自一个用Java写的Web Server源代码

十四、《维基解密》,Lua

在电影《维基解密》中主人公阿桑奇在看一段用Lua语言写的代码。这段代码是AwesomeWM项目中的diskusage.lua

十五、《终结者》,汇编语言

在电影《终结者》中,机器人的眼里展示了一段6502汇编语言代码,看起来是从Apple II里拷贝的。

十六、《极乐空间》,汇编语言

在电影《极乐空间》中太空站重新启动时使用的代码直接来自《因特尔架构软件程序员手册第三卷:系统开发》

时间: 2024-09-29 09:45:57

那些出现在电影中的程序代码的相关文章

如何阅读他人的程序代码

近日,在互联网上游荡,偶然发现一篇曾经的文章,是关于如何阅读他人程序代码的,阅后颇为受益,于是乎重新整理了一下格式,将此文转载如下: 如何阅读他人的程序代码 文/王建兴   作者简介: 王建兴,清华大学资讯工程系的博士研究生,研究兴趣包括计算机网络.点对点网络.分布式网络管理.以及行动式代理人,专长则是Internet应用系统的开发.曾参与过的开发项目性质十分广泛而且不同,从ERP.PC Game到P2P网络电话都在他的涉猎范围之内. 一.读懂程序代码,使心法皆为我所用 程序代码是别人写的,只有

程序员面试100题之十:快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值(转)

能否快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值,为了简化起见,我们假设这个数组中肯定存在至少一组符合要求的解. 假如有如下的两个数组,如图所示: 5,6,1,4,7,9,8 给定Sum= 10 1,5,6,7,8,9 给定Sum= 10 分析与解法 这个题目不是很难,也很容易理解.但是要得出高效率的解法,还是需要一番思考的. 解法一 一个直接的解法就是穷举:从数组中任意取出两个数字,计算两者之和是否为给定的数字. 显然其时间复杂度为N(N-1)/2即O(N^2).这个算法很简

从阅读Discuz的核心代码并给出注释的经历分析程序员该如何阅读代码?

本文标签:   程序员 php Discuz的核心代码 框架 深度学习框架 阅读优秀的代码,是技术水平成长的最佳途径.记得每个进来的新人,我都做过阅读优秀代码的要求,但几乎都只能坚持很少一段时间而已. 前晚大家还在开玩笑的讨论,都是因为看了前人的一些写法,才学会了一些乱七八糟的花招. 晚上我又开始重新阅读Discuz的核心代码,花了1h多的时间,才完成一个core文件的注释. 注释后的代码: <?php /** * [Discuz!] (C)2001-2099 Comsenz Inc. * Th

请给出程序,功能为获取“一段程序代码”运行时长

有一天看到了几个java题目,我就写了一下,废话少说,直接上代码了 3.已知int型数组arr[t], 请:① 打印该数组.输出格式为:[arr1,arr2,arr3,...]. ② 输出数组的最大值max与最小值min. ③ 使用冒泡排序对数组进行排序,并打印排序后数组. 4. 请给出程序,功能为获取“一段程序代码”运行时长.要求: ① 程序框架在父类中定义. ② “一段程序代码”在子类中给出,并覆盖父类中对应方法. ③ “一段程序代码”为:打印一个由“*”组成的图形,见图1. 图1 第三题:

python学习之——计算给出代码中注释、代码、空行的行数

题目:计算给出代码中注释.代码.空行的行数 来源:网络 思路:注释行以 ‘#’开头,空行以 ‘\n’ 开头,以此作为判断 def count_linenum(fname): fobj = open(fname,"rU") #print fobj.readlines() count_blankline = 0 count_notes = 0 count_code = 0 for eachLine in fobj: if eachLine[0] == '\n': count_blankli

C程序代码中内嵌as汇编(四、宏函数)

先来回忆下C语言中宏是怎么定义的,最基本的是定义常量:#define MAX_LEN 1024  这是最简单的常数宏定义,其中宏名按规定是要大写的,宏名在预编译时会由后面的值替代掉(预编译四大步骤:1.用宏名后面的值替换宏名:2.加载包含的头文件内容:3.判断逻辑假,并且去掉逻辑假代码:4.删除注释). C语言中宏函数定义格式:#define  FUN_NAME(a, b, c)   (函数体)   值得一提的是参数中最后一个是返回值:函数体中所有的代码都必须在一行上显示,所以需要续航符(反斜线

SAP程序代码中RANGE表的用法禁忌

最近经常有出现以上的SQL代码导致程序DUMP,SAP错误日志如下: 经过检查RANGE表GR_MATNR,当用于WHERE条件是,只限较小的数据量的情况(约100条左右): 若为大数据量应该用FOR ALL ENTRIES IN的语法,或者其它方式来改写. SAP程序代码中RANGE表的用法禁忌

在ASP.NET项目中的web.config文件里配置数据库连接并在程序代码中获取连接字符串

  1.在<connectionStrings> 标签里添加连接 <connectionStrings> <add name="ConnectionName" connectionString="Server=.\SQLEXPRESS;Database=DatabaseName;UserID=sa;Password=abc123" providerName="System.Data.SqlClient" />

用亲身经历告诉你,在你的并发程序代码块中,最好最好不要有引用类型

用亲身经历告诉你,在你的并发程序代码块中,最好最好不要有引用类型,必要的string类型还是可以的.目前正在把自己前段时间写的并发程序放到自己的项目中,以提高速度,由于我的项目是与移动对接的,因此,询问了移动的接口能不能响应高并发之后,并且得到了肯定的答复,我就开始着手demo设计了,但是一直出错,一直有问题,后来想到,可能是引用类型的问题,因为我的并发代码需要不断地给一个类实例对象的某个字段赋值,然后去调用移动接口,我就捉摸着,可能是因为并发太快了,然后这个引用类型赋值的之后,没有来的及更换内