12

麦斯科技 · 2021年04月27日

在Arm上编译Arm:Arm上的Windows新本机 LLVM 工具链

https://community.arm.com/developer/tools-software/tools/b/tools-software-ides-blog/posts/native-llvm-toolchain-on-windows-on-arm

阿肖克·巴特(Ashok Bhat)2021年4月21日

7536.LLVM-toolchain-post-image-_2800_1_2900_.jpg_2D00_600x338x2.jpg

早在 2020 年 7 月,Arm 就发表了一篇博客,展示了一个概念示例,说明在 Arm 笔记本电脑设备上编译了一个带有 clang 的 Windows 应用程序。这个概念是一个很大的成功,我们的研究表明,开发人员可以用本地的叮当编译器在"Arm上的 Windows"上以两倍的速度编译。然后,这是购买前进到Arm的合作伙伴在笔记本电脑市场,我们的好朋友在利纳罗采取浓厚的兴趣。这种初始参与最终导致 Linaro 与上游 LLVM 社区合作,在 LLVM 工具链的Arm变种上发布 Windows。这是2021年4月20日宣布的。

开发人员的优势

新的 LLVM 工具链变种的 Windows 在Arm上意味着开发人员现在可以开发和编译 C/C++应用程序在 Windows Arm笔记本电脑上与本地 AArch64 LLVM 工具链。本质上,在Arm上发展。正如我在介绍中指出的,为Arm编制加速了编译速度。我们的数据显示速度增加了2倍,利纳罗独立地证实了这种速度。

这是因为能够在实际设备上编译会导致更快的工作流。在新的LLVM 工具链变种用于Arm上的 Windows 之前,如果开发人员想要在 Arm 设备上的 Windows 上进行编译,则他们必须在模拟和交叉编译下运行 x86 工具链。在模拟下运行会限制应用程序对现代编译器技术(如链接时间优化)的使用,因为在仿真下支持的 32 位工具链只能使用 4GB 的内存。这两个问题都减缓了整个发展进程。但是,本地二进制文件是 AArch64 二进制文件,不需要仿真,加快了开发人员的整个过程。

Clang-cl 支持

作为这个Linaro版本的一部分, LLVM 支持叮当声。这意味着大多数开发人员可以使用 clang-cl 立即在"Arm上的 Windows 上的视觉工作室/MSBuild"上编译其 C/C++应用程序,而无需更改命令行。事实上,LLVM 版本极有可能为更多本地支持的开发人员工具铺平道路。Arm 生态系统上的 Windows 元素已经在评估在此公告发布后他们能做什么。

更多信息请关注

LLVM 的目标是提供具有Arm二进制文件上的 Windows 的原生工具链,其中包括可供下载的编译器、链接器和编译器库。Arm 还将发布有关如何在Arm叮当声上使用原生 Windows 编译的信息。早在 2019 年,我们就发布了一个博客,内容是关于将 PuTTY 开源终端仿真应用程序移植到Arm上的 Windows。我们正在重复博客中描述的过程,但这次使用基于Arm的笔记本电脑上的"Arm clang-cl"编译器上的原生 Windows 来比较结果。我们预计结果会令人印象深刻,因此请继续关注未来的博客。

开发Arm上的Arm

新的LLVM工具链变种的窗口在Arm上是好消息的开发人员。我们越来越多地看到越来越多的开发人员将他们的应用程序定位在Arm笔记本电脑上的 Windows,如StaffPad和Tweeten。这种新的 Linaro 版本通过Arm上的发展使这个过程比以往更快。我们鼓励所有开发人员查看此新工具链变体,看看 Arm 上的 Windows 如何使您的应用程序受益。

更多了解有关Arm上的 Windows 开发

https://developer.arm.com/solutions/os/windows-on-arm?_ga=2.78969488.529551497.1619360217-418006553.1606625914

推荐阅读
关注数
5845
内容数
525
定期发布Arm相关软件信息,微信公众号 ArmSWDevs,欢迎关注~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息