第三十七章 诗人和程序员-第2/3页





    ”还是我们写一套编译器,将使用Ada语言书写的飞控系统编译成哥德尔系统能够理解的语言“,

    呯呯的声音又响起来了,这回是赵天成和李飞口吐白沫,瘫倒在椅子上。

    ”GoodQuestion“,王一男指了指李文静,”很好的问题“,

    “要不怎么说咱们是最佳拍档呢”

    “这就要感谢我们伟大的开源事业了”

    “有一个开源项目,叫做LLVM的,有人知道吗”

    立刻好几个人举起了手,王一男指着116所的一个程序员,“你来说说吧”

    “LLVM是LowLevelVirtualMachine的意思,也就是低级虚拟机,它实际上是一组规范和工具的集合,为开发现有语言的编译器,甚至设计新的程序设计语言,提供了一个非常强大的基础“

    ”Perfect“,王一男夸奖了一句。

    “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“,就是那个通用的中间表示,能够被LLVM输出,同时又能被哥德尔系统理解的那个东西?“

    ”宾果“,王一男打了个响指,

    在那个大大的问号那里,他重重地写下IR两个大字。

    “这样,整个流程就全通了,我们不用重写飞控的代码”,116所倒下的攻城狮立刻坐了起来。

    “也不用写编译器”,李飞和赵天成也满血复活了。

    “利用现有的这些工具链,我们可以将116所的飞控代码自动编译成LLVM的中间代码”

    “我们现在要做的事情,只是将这些中间代码,跟前段时间我们建立的理论模型对应起来,添加必要的输入输出模块”

    “添加实际控制面的虚拟模型和代码”

    “然后,就可以用成吨的数据来训练哥德尔系统了”

    “简单不简单,完美不完美?”,王一男显然又把自己嗨到了,按照他的设想,现在应该是大家高呼“完美,简单”,

    当然如果有识相的来一句“王一男万岁”,就更完美了。

    “干活啦”,李文静一巴掌打破了王一男的幻想。

    ”咱们这里面,写代码最牛是你,所以能者多劳,你就把整体框架先弄出来,我们负责补充啦“

    ”老大威武“,这回,连116所的程序员也跟在屁股后面喊上了,”老大威武!“...
    本章未完,请点击下一页继续阅读!