由于平时都在linux平台下进行开发,抽空想同步下Windows上的开发环境
Clang
Clang
的开发始于 2007 年,由 Chris Lattner (同时也是 Swift
语言的创始人)和他的团队在苹果公司启动。最初的动机是为了替代 GCC
,解决 GCC
在编译速度、内存使用和错误信息方面的不足,苹果公司在 Xcode 4.2
中默认使用 Clang
作为编译器。
Clang
与GCC
一样同属于编译器套件,是一个编译器前端,它主要用于处理 C、C++、Objective-C 和 Objective-C++ 代码。它将源代码转换成中间表示(IR),然后由后端进一步处理成机器代码,
LLVM
(Low Level Virtual Machine)是一个编译器基础架构项目,提供了一系列编译器和工具链技术,用于创建前端和后端编译器。LLVM
提供了 Clang
需要的后端支持,将中间表示(IR)转换成机器代码。
需要从LLVM官方网站下载并安装LLVM和Clang的预编译二进制文件包。可以通过访问LLVM下载页面获取安装包。
Clang在Windows上通常依赖于Microsoft的编译工具链,包括链接器和标准库(rust也同样依赖)。你可以安装完整的Visual Studio IDE,或者如果只需要编译工具,可以安装Visual Studio Build Tools。
选择 使用 C++ 的桌面开发
即可
也可以在 GitHub 直接下载LLVM,我下载的是LLVM 18.1.6,Assets
中选择LLVM-18.1.6-win64.exe
之后无脑下一步就行,安装位置在C:\Program Files\LLVM
,安装完毕后在Path
中加入环境变量C:\Program Files\LLVM\bin
即可
之后打开终端输入clang -v就可以看到了
1 | clang -v |
注意Windows下编译文件需要将文件编译成.exe
后缀才能运行
例如:
Windows下默认是.\
,输入./
也ok
1 | # 编译 |
Clangd
Clangd 是一个专门为 C、C++ 以及 Objective-C 开发的语言服务器,基于 Clang 编译器框架。它实现了 Language Server Protocol (LSP),提供代码补全、语法检查、代码导航和重构等功能。
在 VSCode 中,Clangd 提供了比官方 C/C++ 扩展更为出色的开发体验,特别是在性能和代码分析方面。通过合理配置和使用 Clangd,开发者可以显著提高开发效率和代码质量。
在 VSCode 中使用 Clangd
在 VSCode 中,可以通过安装 clangd
扩展来使用 Clangd 作为语言服务器。
与官方的 C/C++
扩展相比,clangd
具有以下优势:
- 性能:Clangd 是专门为 Clang 编译器设计的,具有较高的性能和响应速度。
- 准确性:由于 Clangd 使用 Clang 编译器解析代码,语法检查和代码补全的准确性更高,特别是在处理复杂的 C++ 代码时表现更为出色。
- 更好的标准支持:Clangd 对现代 C++ 标准(如 C++11、C++14、C++17、C++20)的支持更为全面和准确。
- 语义着色:Clangd 提供更细粒度的语义着色,有助于开发者更容易地理解和维护代码。
例如下面这张图,clangd
提供更加易懂的C++提示
至此,在Windows上完成了Clang
和Clangd
的安装与配置