网站的建设与维护需要资质吗,学python能干嘛,创建平台网站下载,优化培训学校MacOS 环境下 VSCode 的 C 环境搭建
编译器安装
编译器可以选择 Clang 或者 GCC#xff0c;在 MacOS 上 Clang 的安装更为简单一些。
Clang(推荐)
打开终端输入命令#xff0c;
clang -v 查看是否已经安装。
如果已经安装#xff0c;会输出类似于如下的信息#xff1…MacOS 环境下 VSCode 的 C 环境搭建
编译器安装
编译器可以选择 Clang 或者 GCC在 MacOS 上 Clang 的安装更为简单一些。
Clang(推荐)
打开终端输入命令
clang -v 查看是否已经安装。
如果已经安装会输出类似于如下的信息
Apple clang version 14.0.0 (clang-1400.0.29.202) Target: arm64-apple-darwin22.2.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
如果没有安装则输入命令Xcode-select --install进行安装。
GCC
首先需要安装 brew安装方法见官网如果国内访问速度比较慢可以自行搜索 brew 国内镜像。
然后输入命令brew install gcc进行安装。
插件安装
在 VSCode 中安装如下的三个插件
C/C提供了编辑的代码智能提示(IntelliSense)和调试(debugging) 功能 CodeLLDB提供了更加强力的调试支持 Code Runner更方便地运行代码非调试 配置文件生成
c_cpp_properties.json
c_cpp_properties.json 中包含了编译器路径、头文件路径等等的设置信息这些信息主要用于编辑的代码智能提示(IntelliSense)。
在 VSCode 中按下 ⇧⌘P输入命令C/C: Edit Configurations (UI)打开 C/C 的配置页面。根据 CPU 架构(一般是 Intel 或 Apple Silicon) 和编译器(Clang 或 GCC) 的不同我们需要在配置页面中设置 编译器路径 和 IntelliSense 模式 这两个选项。
编译器路径
从下拉框中选择 Clang/GCC 可执行文件对应的路径。
Clang 的路径示例
/usr/bin/clang 或者 /usr/bin/clang
GCC 的路径示例
/opt/homebrew/Cellar/gcc/12.2.0/bin/g
IntelliSense 模式
CPU – 编译器 – 选项 Intel – Clang – macos-clang-x64 Intel – GCC – macos-gcc-x64 Apple Silicon – Clang – macos-clang-arm64 Apple Silicon – GCC – macos-gcc-arm64
在 C/C 的配置页面设置好之后VSCode 会为我们自动生成c_cpp_properties.json 文件。
c_cpp_properties.json 的示例
{configurations: [{name: Mac,includePath: [${workspaceFolder}/**],defines: [],macFrameworkPath: [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks],compilerPath: /usr/bin/clang,cStandard: c17,cppStandard: c17,intelliSenseMode: macos-clang-arm64}],version: 4
}tasks.json
在 tasks.json 中我们会定义一个编译可执行文件的任务
我们可以通过 VSCode 来自动生成这个文件只要在 C 源文件中按下 F5选择对应的选项Clang 选择编译器 ClangGCC 选择编译器 G就会生成这个文件。
tasks.json 的示例
{version: 2.0.0,tasks: [{type: cppbuild,label: 生成活动文件,command: /usr/bin/clang,args: [-fcolor-diagnostics,-fansi-escape-codes,-g,${file},-o,${fileDirname}/${fileBasenameNoExtension}],options: {cwd: ${fileDirname}},problemMatcher: [$gcc],group: {kind: build,isDefault: true},detail: 编译器: /usr/bin/clang}]
}launch.json
在 launch.json 中我们将设置调试相关的内容。
在之前生成 tasks.json 的同时也会自动生成这个文件。这个文件的 type 一般会设置为 cppdbg。为了使用 CodeLLDB建议将其改成 lldb
launch.json 的示例(cppdbg)
{version: 0.2.0,configurations: [{name: 生成和调试活动文件,type: cppdbg,request: launch,program: ${fileDirname}/${fileBasenameNoExtension},args: [],stopAtEntry: true,cwd: ${workspaceFolder},environment: [],externalConsole: true, // 推荐设置为 true否则在调试过程中无法接受输入MIMode: lldb,preLaunchTask: 生成活动文件}]
}
launch.json 的示例(lldb)
{version: 0.2.0,configurations: [{name: 生成和调试活动文件,type: lldb,request: launch,program: ${fileDirname}/${fileBasenameNoExtension},args: [],cwd: ${workspaceFolder},preLaunchTask: 生成活动文件}]
}⚠️注意请确保launch.json 中 preLaunchTask 的值和 tasks.json 中的 label 保持一致。