zoukankan      html  css  js  c++  java
  • (Mac) VSCode 创建C++文件并调试

    前言:
         了解C/C++程序编译步骤以及如何生成可执行文件:  C源程序->编译预处理->编译程序(生成*.s文件)->优化程序->汇编程序(生成*.o文件)->链接程序->可执行文件(*.out)

          https://www.cnblogs.com/hzb462606/p/14605445.html
    正文:

         1、由于VSCode工具最终也是调用g++、clang++编译器,所以安装VSCode前,先检查下自己机器上又没有这两个编译器。可以通过下面指令分别检查是否安装:

    g++ --version
    clang++ --version
    eg:
    xxx@madeMacBook-Pro ~ % g++ --version 
    Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
    Apple clang version 11.0.0 (clang-1100.0.33.17)
    Target: x86_64-apple-darwin19.3.0
    Thread model: posix
    InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
    
    xxx@madeMacBook-Pro ~ % clang++ --version
    Apple clang version 11.0.0 (clang-1100.0.33.17)
    Target: x86_64-apple-darwin19.3.0
    Thread model: posix
    InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

      2、启动VSCode,按下图打开扩展


    在扩展搜索框里,输入如下三款插件,目的是让VSCode拥有C++语法高亮、错误检查和调试等功能。

    在这里插入图片描述

     *注: 为什么安装CodeLLDB?  Mac在更新到Catalina后不再支持lldb调试。

    所有插件安装完后,我们创建一个控制台应用跑一下。

    在桌面创建一个文件夹Test(你的工程根目录),在VSCode中打开该文件夹。在里面新建一个cpp文件命名为main.cpp。随意写些测试程序,如下

    #include <iostream>
    using namespace std;
    int main(int argc, char const *argv[])
    {
      cout << "Hello world!!" << endl;
      return 0;
    }

    3、之后打开工作区,开始调试,会看到以下提示:
    在这里插入图片描述

    创建 launch.json 文件,选择LLDB

    在这里插入图片描述

    launch.json:

    {
        "version": "0.2.0",
        "configurations": [
            {
                "type": "lldb",
                "request": "launch",
                "name": "Debug",
                //"program": "${workspaceFolder}/test.out",
                //上一行是官方写法,但是不同的cpp调试都要改配置,非常麻烦
                "program": "${workspaceFolder}/${fileBasenameNoExtension}",
                "args": [],
                "cwd": "${workspaceFolder}",
                "preLaunchTask": "Build with Clang"
            }
        ]
    }

    4、保存后按快捷键⇧⌘B编译,此时会出现提示没有找到要运行的生成任务,所以接下来将进行生成任务的配置工作,VSCode提供了一些模版,有需要的可以自行选择,这里就选则Others。


    点击“No build task to run found. Configure Build Task...”后,如下所示:

     

    点击“Create tasks.jon file form template”后,如下所示:

     

    点击“Others”后,生成“tasks.json”文件,将其内容替换如下:

    {
        "version": "2.0.0",
        "tasks": [
            {
                "label": "Build with Clang",//这个任务的名字在launch.json最后一项配置
                "type": "shell",
                "command": "clang++",
                "args": [
                    "-std=c++17",
                    "-stdlib=libc++",
                    //"test.cpp",这里是官方写法,不具有普遍性,注意两个配置文件的统一性即可
                    "${fileBasenameNoExtension}.cpp",
                    "-o",
                    //"test.out",
                    "${fileBasenameNoExtension}",
                    "--debug"
                ],
                "group": {
                    "kind": "build",
                    "isDefault": true
                }
            }
        ]
    }
    

    保存后切换到对应.cpp文件, 按快捷键‘⇧⌘B’编译,你会发现工程目录下已经生成了对应的 {${fileBasenameNoExtension}}这个可执行文件

    6、在点Debug的启动按钮,开始调试,自动在断点处停下来,在自带的终端里进行输入。

     

  • 相关阅读:
    ext DateTime.js在ie下显示不全
    js 获得每周周日到周一日期
    近十年one-to-one最短路算法研究整理【转】
    虚函数(实现多态)
    函数调用机制2
    函数调用机制
    面向对象的三大特性
    矩阵类c++实现
    矩阵求逆c++实现
    解决文件大小上传限制
  • 原文地址:https://www.cnblogs.com/hzb462606/p/14605765.html
Copyright © 2011-2022 走看看