提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:鲍佳佳|2020-12-08 10:03:40.233|阅读 555 次
概述:有了 CMake 3.15,在 Windows 上用 GNU 风格的命令行使用 Clang 编译器成为可能。这也意味着可以用Mingw-w64工具链来使用Clang。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
CLion是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力。这种强大的IDE帮助开发人员在Linux、OS X和Windows上来开发C/C++,同时它还使用智能编辑器来提高代码质量、自动代码重构并且深度整合CMake编译系统,从而提高开发人员的工作效率。
有了 CMake 3.15,在 Windows 上用 GNU 风格的命令行使用 Clang 编译器成为可能。这也意味着可以用Mingw-w64工具链来使用Clang。
虽然可以用Mingw-w64(或MinGW)工具链来配置Clang,但如果你决定使用LLVM repo的Clang,它将无法正常工作。这是因为LLVM Clang for Windows是使用Microsoft Visual Studio构建的,所有内置的宏和包含的搜索路径都是为使用Visual Studio而设置的。所以即使与MinGW工具链一起使用,它仍然会尝试包含MSVC标准库头。
我们做了一些实验,发现了一个可能的工作流程,就是使用CLion与MinGW工具链和Clang编译器相结合。
这是我们的发现:
此Clang编译器使用mingw-w64构建,并具有与该工具链相对应的路径和宏。
现在我们准备建立CLion工具链。转到Settings/Preferences | Build, Execution, Deployment | Toolchains:
配置了新的工具链后,就可以开始构建项目了。您可以使用默认的ld连接或设置lld有-DCMAKE_LINKER=lld。
使用Clang编译器提供的高级工具
从理论上讲,所有Clang工具都应该可以正常工作。但是,涉及编译器-rt可能会出现问题。编译器-rt是一组运行时库,在Clang中使用消毒剂和配置文件是必需的,当前的compile_rt软件包是使用MinGW构建的。但是Clang需要使用Clang和lld构建的编译器。
在我们的案例中,我们想使用配置文件引导的优化。进行此工作的一种方法是获取与MSYS2中的Clang版本完全相同的版本的editor-rt源代码。这可能具有挑战性,因此另一个解决方案是克隆LLVM monorepo并构建所需的工具。
对于-fprofile-instr-generate,仅构建compile -rt和llvm-profdata来合并探查器结果可能就足够了。但是,要可靠地使用所有工具,最好也构建Clang和lld。
幸运的是,我们已经具有该构建所需的设置。
最后一步是将<msys2_path>/mingw64/lib\clang/<clang_version>/libwindows中的二进制文件替换为<compiler-rt_path>/cmake-build-release-mingw_clang/libwindows或<llvm_build_path>/lib/clang/<clang_version>/lib/windows中的库。
使用Clang进行性能分析
有了正确的编译器-rt库,现在就可以使用与-fprofile-instr-generate / -fprofile-instr-use标志设置的相同的工具链。因为我们已经有了源代码,所以让我们为此实验构建LLVM。我们还将使用-DLLVM_ENABLE_LTO = Thin进行更多优化。转到Settings/Preferences | Build, Execution, Deployment | CMake:
使用此CMake配置,您可以构建Clang编译器并使用它,例如,构建自己的项目。这将生成相关的探查器信息,稍后应将其与我们之前构建的工具llvm-profdata合并。使用合并的profile_merged.profdata文件,您最终可以构建Clang编译器的优化版本:
使用自定义Clang和lld
要让gcc风格的-fprofile-generate/-fprofile-use标志正确工作,需要改变Clang路径,并将-DCMAKE_LINKER设置为新构建的ld。你还需要一些额外的LLVM技巧:-femulated-tls和链接pthread。
然后,应重复使用-fprofile-instr-generate / -fprofile-instr-use执行的所有步骤。
结论
现在可以在Windows上使用Clang,并且不需要安装Microsoft Visual Studio!
我们希望在不久的将来,使用高级的clang工具将变得更加容易,并且不再需要手动构建。让我们知道,如果您发现其他方法可以达到相同的效果!
今天的内容你学会了吗?前往慧都网免费下 载最新版尝试一下,并在评论分享你的想法。“慧都17周年庆”低价狂潮,省到尖叫最高立减2999元!低至797元!想要购买Clion正版授权的朋友欢迎。
JetBrain技术交流群现已开通,QQ搜索群号“786598704”或者扫描下方二维码即可加入
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢