&“,王一男夸奖了一句。
“DragonEgg 有人知道吗“,王一男接着问。
这回没人举手了,李文静举手说,”龙蛋哇,这个谁不知道“
没等王一男骂人呢,李文静坐了下来,“开个玩笑,活跃一下气氛嘛”
“这是一个GCC的后端,或者说LLVM的前端,能够将GCC和LLVM连接起来”,王一男说,
“GCC你们都知道吧”
“废话,别侮辱我们的智商好吗”,“GCC是一组开源的编译器,包括C/C++,Fortran ,当然也包括了Ada语言的编译器,我们116所目前使用的就是GCC”
“好了,齐活啦”,王一男拍了拍手。他在黑板上先画了一个圆圈,然后在里面写上
“116所飞控代码”,
“一共多少行代码”,王一男问116所的攻城狮,
“大概四百多万吧”。
偷偷咽了一口口水,王一男在圆圈了添上”400万行“的字样。
然后在旁边又画了一个圆圈,在里面写上“GCC”,再画了一条带箭头的线,从“116所飞控代码”指向“GCC”。
“这样大家能理解吧,GCC可以编译116所的飞控代码”,王一男说。
“这步没问题,我们也是用GCC来编译成飞控计算机使用的机器代码的”,116所的攻城狮说。
王一男在“GCC”圆圈的边上又画了一个圆圈,然后在里面写上“龙蛋”两个字。
“龙蛋就是将GCC和LLVM连接起来的东西”,王一男说,
他在“GCC”圆圈添上一条带箭头的线通往“龙蛋”,然后在“龙蛋”圆圈后面又添上一条带箭头的线。
在箭头指向处,王一男打上一个大大的问号。
“看明白了吗”,王一男问。
所有的人都摇了摇头,“作者大大,臣妾真的不明白”
王一男指了指赵天成和李飞,
”我们之前在研发哥德尔系统的时候,曾经使用过LLVM,你们还记得吗?“
”当然记得,哥德尔系统的一部分核心用的就是LLVM的 IR“,
”等等“,”IR“(Ie Represention),就是那个通用的中间表示,能够被LLVM输出,同时又能被哥德尔系统理解的那个东西?“
”宾果“,王一男打了个响指,
在那个大大的问号那里,他重重地写下IR两个大字。
“这样,整个流程就全通了,我们不用重写飞控的代码”,116所倒下的攻城狮立刻坐了起来。
“也不用写编译器”,李飞和赵天成也满血复活了。
“利用现有的这些工具链,我们可以将116所的飞控代码自动编译成LLVM的中间代码”
“我们现在要做的事情,只是将这些中间代码,跟前段时间我们建立的理论模型对应起来,添加必要的输入输出模块”
“添加实际控制面的虚拟模型和代码”
“然后,就可以用成吨的数据来训练哥德尔系统了”
“简单不简单,完美不完美?”,王一男显然又把自己嗨到了,按照他的设想,现在应该是大家高呼“完美,简单”,
当然如果有识相的来一句“王一男万岁”,就更完美了。
“干活啦”,李文静一巴掌打破了王一男的幻想。
”咱们这里面,写代码最牛是你,所以能者多劳,你就把整体框架先弄出来,我们负责补充啦“
”老大威武“,这回,连116所的程序员也跟在屁股后面喊上了,”老大威武!“
王一男想了一下,确实,整体框架这东西,人多了还真不一定有用,需要保证思路的一致性,让其他人来弄,他还真不放心,进度也没有保证。
“好吧,给我三天时间,我会给世界一个奇迹“
“让你们看看传说中卡马克。王”(卡马克是Doom的开发者,以独立开发游戏引擎而闻名于世,他一个人写了三代Doom游戏引擎)
王一男把自己关在一个独立的办公室里面,禁止任何人打扰他。
电话也关机,办公室里面一个冰箱是必须有的,他让人然后扛了一箱子雪碧和一箱子方便面进去,把张琪家里的那套价值好几十万的音响给勒索了过来,电话里他是这么说的,“音响没有,我就干不了活,我干不了活,116所的事情一定就砸了,116所的事情砸了,公司就开不下去了,你自己看着办吧”
之后整整三天时间,整个公司都能隐约听到重金属摇滚的声音。
三天后,门打开了,王一男胡子拉碴,神情憔悴的走了出来,对着门外的李文静和赵天成说,
“git 里面我刚提交了版本,你们看看吧,所有文档都在/doc 目录下”
“所有示例代码都在/samples 目录下面”
“你们叫上116所的攻城狮一起研究吧,我去睡一觉”。
“八个小时之后,所有人一起开工!”