(Mac) VSCode 创建C++文件并调试
2021-06-06 18:02
标签:main content osi pos src 控制 工具 内容替换 编程 前言: https://www.cnblogs.com/hzb462606/p/14605445.html 由于VSCode工具最终也是调用g++、clang++编译器,所以安装VSCode前,先检查下自己机器上又没有这两个编译器。可以通过下面指令分别检查是否安装: 启动VSCode,按下图打开扩展 *注: 为什么安装CodeLLDB? Mac在更新到Catalina后不再支持lldb调试。 所有插件安装完后,我们创建一个控制台应用跑一下。 在桌面创建一个文件夹Test(你的工程根目录),在VSCode中打开该文件夹。在里面新建一个cpp文件命名为main.cpp。随意写些测试程序,如下所示: 保存后按快捷键??B编译,此时会出现提示没有找到要运行的生成任务,所以接下来将进行生成任务的配置工作,VSCode提供了一些模版,有需要的可以自行选择,这里就选则Others。 点击“Create tasks.jon file form template”后,如下所示: 点击“Others”后,生成“tasks.json”文件,将其内容替换如下: 保存后按快捷键??B编译,你会发现工程目录下已经生成了对应的 {${fileBasenameNoExtension}}这个可执行文件
之后打开工作区,开始调试,会看到以下提示: 创建 launch.json 文件,选择LLDB launch.json: 点Debug前的启动按钮,开始调试,自动在断点处停下来,在自带的终端里进行输入。
(Mac) VSCode 创建C++文件并调试 标签:main content osi pos src 控制 工具 内容替换 编程 原文地址:https://www.cnblogs.com/hzb462606/p/14605765.html
了解C/C++程序编译步骤以及如何生成可执行文件: C源程序->编译预处理->编译程序(生成*.s文件)->优化程序->汇编程序(生成*.o文件)->链接程序->可执行文件(*.out)
正文: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
在扩展搜索框里,输入如下两款插件,目的是让VSCode拥有C++语法高亮、错误检查和调试等功能。
点击“No build task to run found. Configure Build Task...”后,如下所示:{
"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
}
}
]
}
{
"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"
}
]
}