方舟编译器源代码疑似曝光,华为李小龙:来自服务器部门?

前几天,赶在华为开发者大会开幕前几天,华为已经在官方社区正式公布了方舟编译器的安装详情以及下载地址。

官方介绍称,方舟编译器是基于GCC开发的交叉编译器套件,它包括了C、C++、Fortran的前端,也包括了这些语言的库(如libstdc++、libgcc等)。HCC运行在X86 linux架构服务器上,生成的二进制运行在Aarch64架构服务器上。

来源:tsuki
链接:https://www.zhihu.com/questio...

image

引起争议后,华为手机产品线副总裁李小龙在微博上对“GCC套皮说”进行了辟谣,他表示:「这个网站不是华为消费者BG维护的网站,此编译器好像是服务器部门用的,和我们之前和P30一起发布的方舟编译器没有任何关系。」

链接:https://www.zhihu.com/questio...

华为副总裁在微博说这是另一个 BG 的同名产品。那我们继续等待几天后真正的方舟编译器吧。

原答案:

下载页的开始称方舟编译器叫 HCC:

image

我们从标注着源码下载的链接这里,下载传说中的方舟编译器:

image

下载下来的 tar 包却叫 gcc-ark:

image

解压缩一看,没找到任何名称中含 ark/fangzhou/hcc/huawei 等单词的文件,却和我刚从 Arch Linux 仓库 拉下来的 gcc 交叉工具链蜜汁相似:

https://www.archlinux.org/pac...

image

这里我们先忽视从源码下载链接里下载到了二进制文件这个问题。

继续运行,看起来也是个 gcc。此外贴心的 GPLv3 协议摘要,提醒着华为赶紧把它开源:

image

尝试编译个 c 代码,目标架构的确是 elf64-littleaarch64:

image

继续搜索一下编译器二进制文件里的字符串,找不到任何相关的独立单词:

image

不过倒是可以看到一些调试信息:

image

到此为止,最好的情况也只可能是华为在 gcc 上加了一些 patch,增加了一些优化 pass 等,重新打包并宣称这是其「自主研发」的新一代编译器。先不提这样的行为是否有分裂社区的嫌疑。看看其当时的宣传:

image

说好的自主研发多语言联合优化Android 上的 Java 编译器呢?

不过有人说华为开发者大会还没有召开,现在放出的这个还不是完全版。那我们就先等等,期待一下几天后放出的完全版。

希望我被打脸。毕竟我刚为华为贡献了一台 Matebook 14 的销量呢。

阅读更多

昨天,我又“装”上了Windows 1.0

热修复的几种方案,你可知否?

老板:请将你的代码进行Code Review!

一位Android大牛的BAT面试心得与经验总结

Android启动优化最佳方案:去启动页和异步初始化

Java泛型--BeanUtils.copyProperties引发的血案

相信自己,没有做不到的,只有想不到的

在这里获得的不仅仅是技术!

image


终端研发部
一条执着于技术+职场经验之路,从人工智能,Android,FFmpeg音视频解码,前端开发及微信小程序,同时覆...
1.2k 声望
74 粉丝
0 条评论
推荐阅读
Github重磅教程!从0到1,边学边实战!
据我所知,刚开始入门编程的都止步开始和选择,可选的很多,java,Python,前端,golang等等,如果没有好的选择可以和于小二来说话。如果没有什么好的选择,我建议你去学习java吧

爱编码的coder阅读 1.2k

封面图
Java8的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft32阅读 27.4k评论 1

一文彻底搞懂加密、数字签名和数字证书!
微信搜索🔍「编程指北」,关注这个写干货的程序员,回复「资源」,即可获取后台开发学习路线和书籍来源:个人CS学习网站:[链接]前言这本是 2020 年一个平平无奇的周末,小北在家里刷着 B 站,看着喜欢的 up 主视...

编程指北71阅读 33.5k评论 20

Java11的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft28阅读 19.3k评论 3

Java5的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft13阅读 21.7k

Java9的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft20阅读 15.3k

Java13的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft17阅读 11.1k

1.2k 声望
74 粉丝
宣传栏