VS Code搭建LLVM(clang/clang++)编译环境(自己备用)

在MSYS2的MinGW64环境中,clang++.exe工具是为了提供一种替代的C++编译器。它基于LLVM项目,具有以下优势:

  1. 现代化特性:Clang支持最新的C++标准和语言特性,提供更好的语法解析和错误提示。
  2. 高效优化:Clang的优化技术可以生成高效的机器代码,提升程序性能。
  3. 兼容性:Clang可以与MinGW64环境中的其他工具(如GCC)兼容,方便在Windows上进行开发。
  4. 多平台支持:Clang支持多种平台和目标架构,增加了开发的灵活性。

因此,在MinGW64下包含clang++.exe是为了给开发者提供更多选择。你可以根据自己的需求选择使用GCC或Clang进行开发。

创建tasks.json

在项目根目录下创建一个 .vscode 文件夹,然后在该文件夹内创建 tasks.json 文件,添加以下内容:

{
    "version": "2.0.0",
    "tasks": [
      {
        "label": "build",
        "type": "shell",
        "command": "D:\\msys64\\mingw64\\bin\\clang++.exe",
        "args": [
          "-g",
          "${file}",  // 确保这个是你的源文件
          "-o",
          "${fileDirname}\\${fileBasenameNoExtension}.exe"
        ],
        "group": {
          "kind": "build",
          "isDefault": true
        },
        "problemMatcher": ["$gcc"]
      }
    ]
  }
  

创建launch.json

在同一 .vscode 文件夹内创建 launch.json 文件,添加以下内容以配置调试:

{
    "version": "0.2.0",
    "configurations": [
      {
        "name": "Debug",
        "type": "cppdbg",
        "request": "launch",
        "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
        "args": [],
        "stopAtEntry": false,
        "cwd": "${workspaceFolder}",
        "environment": [],
        "externalConsole": true,
        "MIMode": "gdb",
        "setupCommands": [
          {
            "description": "Enable pretty-printing for gdb",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
          }
        ],
        "preLaunchTask": "build",
        "miDebuggerPath": "D:\\msys64\\mingw64\\bin\\gdb.exe"
      }
    ]
  }
  

c_cpp_properties.json 文件用于配置 VS Code 中 C/C++ 扩展的 IntelliSense。以下是一个示例配置,适用于使用 MinGW 的 Windows 环境:

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}\\**",
                "D:\\msys64\\mingw64\\include\\**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "D:\\msys64\\mingw64\\bin\\clang++.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

 ---------

Clang 和 LLVM 是两个密切相关的项目,广泛用于编程语言的编译和开发。

Clang

  • 定义:Clang 是一个 C、C++ 和 Objective-C 的编译器前端。
  • 功能:提供高效的编译、良好的错误和警告信息,以及优秀的开发者工具支持。
  • 优点:开源、模块化、易于扩展,能够支持快速的编译和增量编译。

LLVM

  • 定义:LLVM 是一个编译器基础设施项目,提供了一套用于构建编译器的工具和库。
  • 功能:支持多种编程语言的编译优化、代码生成等功能。
  • 组件:包括中间表示(IR)、优化器、后端代码生成器等,能够生成高效的机器代码。

关系

  • Clang 是基于 LLVM 的前端,负责解析源代码并生成 LLVM IR,后者再通过 LLVM 的后端生成目标代码。
  • 二者结合,提供了强大的编译工具链。

应用

Clang/LLVM 被广泛应用于各种开源和商业项目,包括现代 IDE 和工具链(如 Xcode 和 Visual Studio Code)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值