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

简介: 前几天,赶在华为开发者大会开幕前几天,华为已经在官方社区正式公布了方舟编译器的安装详情以及下载地址。 官方介绍称,方舟编译器是基于GCC开发的交叉编译器套件,它包括了C、C++、Fortran的前端,也包括了这些语言的库(如libstdc++、libgcc等)。

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

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

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

image

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

链接:https://www.zhihu.com/question/338350284/answer/776111129

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

原答案:

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

image

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

image

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

image

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

https://www.archlinux.org/packages/community/x86_64/aarch64-linux-gnu-gcc/

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引发的血案

欢迎关注微信公众号:终端研发部,一起交流和学习

相关文章
|
26天前
|
存储 运维 应用服务中间件
[运维日志] Web 服务器日志依日期归档(Powershell 实现,附源代码)
[运维日志] Web 服务器日志依日期归档(Powershell 实现,附源代码)
52 0
|
2月前
|
Java 数据安全/隐私保护
Neo4j【付诸实践 01】SpringBoot集成报错org.neo4j.driver.exceptions.ClientException:服务器不支持此驱动程序支持的任何协议版本(解决+源代码)
Neo4j【付诸实践 01】SpringBoot集成报错org.neo4j.driver.exceptions.ClientException:服务器不支持此驱动程序支持的任何协议版本(解决+源代码)
37 1
|
4月前
|
JavaScript UED
Angular 服务器端渲染场景里,服务器端和客户端渲染出的 HTML 源代码有可能不完全一致
Angular 服务器端渲染场景里,服务器端和客户端渲染出的 HTML 源代码有可能不完全一致
57 0
|
Java 开发工具 git
IDEA跑MQTT 代理服务器moquette项目工程源代码
IDEA跑MQTT 代理服务器moquette项目工程源代码
226 0
IDEA跑MQTT 代理服务器moquette项目工程源代码
|
JavaScript 前端开发
使用Fiddle对浏览器从服务器端接收到的SAP UI5库文件源代码进行修改
Sometimes for trouble shooting or research purpose, you would like to make small changes on framework js file, and test how your application would react to those changes. For example I would like to add a new line for debugging purpose before line 70.
使用Fiddle对浏览器从服务器端接收到的SAP UI5库文件源代码进行修改
|
Go
SAP Spartacus 服务器端渲染返回的源代码不全的问题及解决方案
SAP Spartacus 服务器端渲染返回的源代码不全的问题及解决方案
90 0
SAP Spartacus 服务器端渲染返回的源代码不全的问题及解决方案
SAP Spartacus 服务器端渲染返回的源代码不全的问题及解决方案
SAP Spartacus 服务器端渲染返回的源代码不全的问题及解决方案
SAP Spartacus 服务器端渲染返回的源代码不全的问题及解决方案
|
Web App开发 JavaScript 前端开发
使用Fiddle对浏览器从服务器端接收到的SAP UI5库文件源代码进行修改
Sometimes for trouble shooting or research purpose, you would like to make small changes on framework js file, and test how your application would react to those changes. For example I would like to add a new line for debugging purpose before line 70.
96 0
使用Fiddle对浏览器从服务器端接收到的SAP UI5库文件源代码进行修改
|
关系型数据库 C++ PostgreSQL
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 17 章 在Windows上从源代码安装
第 17 章 在Windows上从源代码安装 目录 17.1. 使用Visual C++或Microsoft Windows SDK构建 17.1.1. 要求 17.1.2. 针对64位Windows的特殊考虑 17.1.3. 构建 17.1.4. 清理和安装 17.1.5. 运行回归测试 17.1.6. 构建文档 对于大部分用户,推荐下载Windows的二进制发布,它在PostgreSQL 的网站上作为一个图形化安装包可供下载。
1317 0
|
关系型数据库 开发工具 C++
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 17 章 在Windows上从源代码安装_17.1. 使用Visual C++或Microsoft Windows SDK构建
17.1. 使用Visual C++或Microsoft Windows SDK构建 17.1.1. 要求 17.1.2. 针对64位Windows的特殊考虑 17.1.3. 构建 17.1.4. 清理和安装 17.1.5. 运行回归测试 17.1.6. 构建文档 PostgreSQL可以使用来自微软的Visual C++编译器套件构建。
1540 0

相关产品

  • 云迁移中心