有人说《AntiTrust》真是一部宣传Linux系统的好电影,因为里面使用的电脑安装的基本上都是Linux操作系统,从男主角入侵Synapse的系统时可以看到。但我无意中发现电影里却还出现了Windows。
首先请看下图
图是从电影里截下来的,下面是上图的代码。
available = (long) free.avail_clusters * (long) free.bytes_per_sector * (long) free.sectors_per_cluster; GetDlgItemText(hDlg, IDC_LINUXSIZE , buf, 5); size = atoi(buf); GetDlgItemText(hDlg, IDC_SWAPSIZE , buf, 5); swapsize = atoi(buf); if((size + swapsize) > (available/1000000)) { MessageBox(hDlg, "You've not enough space on disk", "Invalid size", MB_APPLMODAL|MB_ICONEXCLAMATION|MB_OK); return 0; } sprintf(path, "%c:\\lnx4win\\size.txt", hd[getdisk()]); if((f = fopen(path, "w")) == NULL) { MessageBox(hDlg, "Can't save configuration file.", "File error!", MB_APPLMODAL|MB_ICONEXCLAMATION|MB_OK); return 0; } fprintf(f, "%d ", size); fclose(f);
这段代码来自MandrivaLinux里的lnx4win。但这不能说明电脑使用的是Windows系统。继续看下图:
看出来了吧,这是Windows上的IDE,代码里的变量是微软VC里经典的命名方式。例如类属性m_***,哈哈。要想知道上图的代码出自哪里,自己找找。
当然,电影里主要还是使用Linux系统的。如图:
另外,我对电影里Synapse的源代码进行了分析,发现竟然是一个跟我的HomeServer类似的WebServer,只不过它是由Java编写的。看下图:
看到了吗? 上面代码是分析HTTP协议头,判断HTTP命令是GET、HEAD还是什么,如果都不是,就输出unsupported method type。居然使用的是古老的HTTP/1.0,估计这个代码已经很古老了。它是java里的一个简单多线程WebServer,真的简。发下代码:
/* are we doing a GET or just a HEAD */ boolean doingGet; /* beginning of file name */ int index; if (buf[0] == (byte)'G' [AND][AND] buf[1] == (byte)'E' [AND][AND] buf[2] == (byte)'T' [AND][AND] buf[3] == (byte)' ') { doingGet = true; index = 4; } else if (buf[0] == (byte)'H' [AND][AND] buf[1] == (byte)'E' [AND][AND] buf[2] == (byte)'A' [AND][AND] buf[3] == (byte)'D' [AND][AND] buf[4] == (byte)' ') { doingGet = false; index = 5; } else { /* we don't support this method */ ps.print("HTTP/1.0 " + HTTP_BAD_METHOD + " unsupported method type: "); ps.write(buf, 0, 5); ps.write(EOL); ps.flush(); s.close(); return; }
最最最神奇的一点,是,我今天下午才给HomeServer写完目录浏览的代码,晚上看电影就看到了用Java写的目录浏览代码,太巧合了吧~~~(揉脸)
仔细看下图:
上面的代码真简短。当然,没有HomeServer那么完美~~它的代码只是把文件列表输出,一行一个文件名,最简单的了,但你可以看看HomeServer的,做得蛮美观大方的,哈哈。打开目录看看
我一开始以为里面有不少Linux的代码呢,却无奈发现只是Java和VC写的,而且堂堂一个Synapse卫星系统被你导演成HTTP服务器了,哈哈~~
想看那个Simple Java WebServer的朋友点击这里
分析到这里,强烈推荐大家看这部电影,虽然已经是8年前的片子了,片有点老,代码也有点老,但不乏激情,哈哈!
欢迎评论,留下你的足迹。Want to be part of history?
基本都看不懂 汗一个
副部长来看代码
你看了一晚上电影就看了这些,那些电影导演都不是专业人才,代码都是拷来的,找个程序员做高参而已,出现点错漏很奇怪吗?原谅导演Peter Howitt ,膜拜小虾,关注软件产业,支持Windows7达到Ubuntu9.10。
2个不理解的地方:
1、加里为什么在技术没完全成功前就定下系统发布日期啊,找死?
2、加里居然对着男主角重复了一次钱泰迪的话,这种做法也太直白了,难道故意要引起别人的怀疑?
3楼的是不是有点鸡蛋里面挑骨头。。。
编剧和导演可能不是专攻技术的程序员,也难怪。
很久以前看过,当时还不知linux是什么
Thank you, this was good to read! Didn’t notice the Microsoft VC part, hah! 🙂