F-35 战斗机的代码量达到 800 万行,C语言竟然占到424万行,看来航电系统还得靠C(纯C)。

【导读】:F-35 闪电 II 型联合攻击战斗机是一款由美国洛克希德·马丁设计及生产的单座单发战斗机。F-35 主要用于前线支援、目标轰炸、防空截击等多种任务。F-35 在世代上属于第五代战斗机,具备较高的隐身设计、先进的电子系统以及一定的超音速巡航能力。

F35B

F-35B

F35A
F-35A

F22
F-22

su 35
苏-35

T501
T502
T-50

XP
销魂的系统和桌面


无聊时从洛克希德·马丁公司官网公开文章得知,机载软件系统是盘活 F-35 强大战力的关键,其代码量超过了 800 万行,是首款第五代战斗机 F-22 猛禽机载软件代码量的 4 倍多。从 F-35 的飞行控制,到把传感器数据融合成清晰、完整的战场图像,软件必不可少。

头盔

F-35 的软件支撑着:

  • 飞行控制
  • 雷达功能
  • 通讯、导航和身份识别
  • 电子攻击
  • 传感器融合
  • 武器配置

模块(Block)开发方式:

F-35 软件团队一直专注于开发 6 个重要的软件版本,他们称之为模块:

Block 1A/1B:在 F-35 的 830 万行源码中,Block 1 占 78%。Block 1A 用于训练配置,Block 1B 则提供初始多层级安全性。
Block 2A:Block 2A 目前已发布于 F-35 编队中。该模提供的功能包括:用于场外融合的增强训练,初始数据链、电子攻击任务汇报块。 在 Block 2A 中,用于完全作战能力的近 86% 必要代码是飞行。
Block 2B:Block 2B 提供初始作战能力,包括但不限于扩展的数据链接,多船/机融合和初始化**武器。2015 年 7 月,美国海军陆战宣布带 Block 2B 的 IOC。在 Block 2B 中,用于完全作战能力的超过 87% 必要代码是飞行。
Block 3i:Block 3i 有着和 Block 2B 相同的战术功能。2B 和 3i 之间的主要差别在于硬件,特别是更新的综合核心处理机。2016 年 8 月,美国空军宣布带 Block 3i 的 IOC。在 Block 3i 中,用于完全作战能力的 89% 必要代码是飞行。
Block 3F:Block 3F 提供了完全作战能力所需软件的 100%,包括但不限于数据链路影像、全武器和嵌入式训练。Block 3F 任务系统的软件开发进度完成了 98%。

当前软件开发状态:

截至 2016 年 10 月,F-35 战斗机机载软件已 100% 编写完成,并通过了 3F 飞行测试。附加的地基软件,比如 ALIS 和 训练系统,已完成 95%。


至于 F-35 战机系统开发到底用了哪些语言?占比多少?洛克希德·马丁公司官网就没有公开说了。

有人在 Stack Overflow 上也提过这个问题,网友 @老尹 刚从 饭桶Github(开啥玩笑,绝不可能开源的。但JAVA EE听说会开源,估计会成为顶级的项目,毕竟Java的市场有那么大。)上找到了一组数据。

c

  • 7% 汇编
  • 5% Ada 83
  • 35% C++
  • 53% C

C/C++语言占得比例太大了,看来还是c语言的执行效率高啊!!!
注:这个来源链接已经挂了(是肯定挂了!开源,鬼才信。)。所以呢,该数据比例,暂无从证实了。


来来,放2个BBC纪录片蓝色星球2的外挂链接:
蓝色星球1
直接复制括号中的链接(ftp://m:[email protected]:2199/蓝色星球第二季01.mp4)
蓝色星球2
直接复制括号中的链接(ftp://m:[email protected]:2199/蓝色星球第二季02.mp4)


配置Vim为一个轻便的IDE


I’m Frazer ! fantabulous!!! 原创,未给予许,不得转载。 (完)