1. 安装C/C++编译环境
gcc:负责把C/C++源文件编译成汇编
make:负责按照makefile文件的命令/规则,执行相应的动作,如编译,链接等。
as.exe
链接器:负责把所有的.o文件组合起来,静态变量的地址,函数的地址等都由连接器确定,最后生成一个elf文件。
elf文件是可执行文件,但无法在目标机器/开发板上解析运行,所以需要objcopy导出为二进制文件后,也就是生成bin文件,最后直接烧录到单片机中运行。
objdump:可以反汇编二进制文件、.elf文件、.o文件。
文件:
makefile:
.ld文件:是链接脚本,主要任务是通知编译器哪段地址是内存RAM,哪段地址是Flash,哪些RAM地址分配给栈,那些地址分配给堆。。。
.o
(1)安装编译器
编译器:GCC(GNU Compiler Collection),Linux系统一般都自带gcc和g++,而Windows系统则需要自行安装编译器MinGW。
| 平台 | 编译器 | 下载地址 |
|---|---|---|
| Windows | MinGW-w64 | 官网:https://nuwen.net/mingw.html sourceforge:https://sourceforge.net/projects/mingw-w64/files/ |
| Linux | 自带 | sudo apt install gcc g++ gdb |
官网下载:

sourceforge下载:

(2)配置环境变量
安装编译器后,将 gcc 和 g++ 添加到系统环境变量中,gcc和g++一般都在同意文件中。
在桌面,右键点击“此电脑”→ “属性”→ “高级系统设置”→“境变量”,在系统变量中找到Path→“编辑”,新增环境变量:x:\xxx...\MinGW\bin。
(3)验证安装
window+R打开命令行,输入:
g++ --version // 验证C++编译器是否安装正确
gcc --version // 验证C编译器是否安装正确
gdb --version // 验证C/C++程序调试工具
如下所示,即就是安装成功。

(4)编译和运行
# 编译c源文件
$ gcc xxx.c -o 可执行程序名 //将xxx.c编译生成一个可执行文件.exe
# 编译c++源文件
$ g++ xxx.cpp -o 可执行程序名 //将xxx.cpp编译生成一个可执行文件exe
运行结果:

2. 安装集成开发环境
VSCode官方网站:https://code.visualstudio.com/Download
3. VSCode配置开发和调试环境
3.1 vscode安装插件
在VSCode中搜索并安装“C/C++”和“Code Runner”插件。这些插件将提供C/C++代码的编辑、编译和运行功能。
- C/C++(必需)
该插件是由微软官方发布的一款扩展(C/C++ Extension),旨在为开发者提供高效的C和C++代码编辑、调试和构建功能。它是用VS Code进行C/C++开发的核心工具。 - Code Runner(可选)
该插件可以让开发者快速运行多种编程语言的代码,而无需配置复杂的任务或调试环境。 - C/C++ Extension Pack(可选)
该插件由多个与C/C++开发相关的插件组成,帮助开发者更高效地在VS Code中进行代码编辑、调试、构建和测试工作。 - CMake Tools(可选,如果使用 CMake)
该插件专门为使用CMake构建系统的开发者设计。它提供了丰富的功能,可以帮助开发者更高效地配置、生成、构建和调试基于CMake的项目。
3.2 配置 C/C++ 开发环境
首先,需要新建一个C源码文件夹,并在其中创建 main.c 文件。
#include <stdio.h>
int main() {
printf("Hello, C World!\n");
return 0;
}
然后,要在VSCode中编译\运行\调试C/C++程序,涉及三个配置文件:c_cpp_properties.json,launch.json 和tasks.json。
- c_cpp_properties.json 文件用于配置 IntelliSense 功能
- launch.json 文件用于配置调试器
- tasks.json 文件用于配置任务
3.2.1 配置IntelliSense
方式一:可视化配置
(1)按 Ctrl+Shift+P,输入 C/C++: Edit Configurations (UI)。

(2)配置好以后,就可以看到自动生成文件c_cpp_properties.json,C环境配置完成。
方式二:文件配置
在项目根目录下,新建.vscode文件夹,然后新建c_cpp_properties.json文件。
c_cpp_properties.json文件用于配置C/C++扩展的编译环境信息,帮助VS Code更好地提供代码提示、语法检查、错误报告等功能。它主要指定头文件路径、编译器配置和其他信息。所配置的文件内容如下:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.22621.0",
"compilerPath": "D:\\Win10_Programs\\develop\\MinGW\\bin\\gcc.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
说明:name:Window对应Win32
windowsSdkVersion:Win+R组合键打开运行对话框,输入cmd回车,在终端中输入VER可查询。
compilerPath:需要配置成gcc/g++的安装路径。
3.2.2 配置调试器
方式一:可视化配置
(1)点击左侧 “Run and Debug” → “Create a launch.json file” → “C++ (GDB/LLDB)/(Windows)”,可生成调试配置文件launch.json

(2)点击 “Add Configuration” 按钮,根据实际情况选择调试的类型。

方式二:文件配置
在项目根目录/.vscode文件夹中,新建launch.json文件。
launch.json文件用于配置调试环境,它定义了如何启动、运行和调试C/C++程序。通过这个文件可以指定调试器、程序路径、启动参数以及调试相关的设置,从而完成对程序的调试任务。所配置的文件内容如下:
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "D:\\Win10_Programs\\develop\\MinGW\\bin\\gdb.exe",
"preLaunchTask": "g++",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
说明:miDebuggerPath需要配置成gdb的安装路径。
3.2.3 配置任务器
方式一:可视化配置
(1)选中main.c文件,然后“Terminal” → “Configure Tasks…”。

(2)选择 “C/C++: gcc.exe build active file”,即可自动生成配置文件tasks.json。

方式二:文件配置
在项目根目录/.vscode文件夹中,新建tasks.json文件。
tasks.json文件用于配置任务自动化。在配置C/C++开发环境时,该文件主要定义编译任务,帮助开发者完成程序的编译、构建、清理等操作。所配置的文件内容如下:
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe build active file",
"command": "D:\\Win10_Programs\\develop\\MinGW\\bin\\gcc.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "compiler: D:\\Win10_Programs\\develop\\MinGW\\bin\\gcc.exe"
}
]
}
3.3 编译和调试
编写一个简单的C/C++程序,通过VSCode的运行和调试功能进行测试,确保编译器配置正确且能够成功编译和运行代码。
#include<stdio.h>
int sum(int n){
int result;
if(n == 1) {
result = 1;
} else {
result = n + sum(n - 1);
}
return result;
}
void main() {
printf("1-%d的总和是: %d", 5, sum(5));
}

3.3.1 编译打包
如果只有一个c/c++文件,或者其他文件是#include引入,点击 “Terminal” → “Run Build Task…” 执行构建任务,可以生成.exe文件。

如果存在多个c/c++文件,且文件之间只有extern调用(没有#include进去),还要生成一个.exe文件,如下:
main.c文件:
#include<stdio.h>
// #include "fun.c" // 注意:这里没有预处理fun.c
extern sum(int n);
void main() {
printf("1-%d的总和是: %d", 5, sum(5));
}
fun.c文件
int sum(int n){
int result;
if(n == 1) {
result = 1;
} else {
result = n + sum(n - 1);
}
return result;
}
修改tasks.json文件,如下:
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe build active file",
"command": "D:\\Win10_Programs\\develop\\MinGW\\bin\\gcc.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
//"${file}",
"${workspaceFolder}\\*.c",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "compiler: D:\\Win10_Programs\\develop\\MinGW\\bin\\gcc.exe"
}
]
}
说明:这里修改点只有一处,修改tasks.json如下:
"${file}"修改为"${workspaceFolder}\\*.c",可以构建当前工作区所有C文件
"${file}"修改为"${workspaceFolder}\\*.cpp",可以构建当前工作区所有C++文件
编译运行结果如下:

3.3.2 编译调试
直接按F5即可
3.4 vscode常见问题
3.4.1 运行时报错:…undefined reference to `std::cout’

解决办法:出现这种错误的原因是实现成员函数的c/cpp文件未被编译。原因是C/C++的运行方法选错导致,参考编译和调试。
3.4.2 编译cJSON时报错:出现未定义引用"xxx" undefined reference to ‘cJSON_CreateObject’'…

如同, 缺少了对cJSON的编译,这里对成员函数的所需的c/cpp文件未被编译。也就是按单文件编译方法对多文件进行编译。
解决办法:
在tasks.jason 中设置源文件,将"args"的值
| 语言 | “args”: […,“${file}”,…] |
|---|---|
| C | “${fileDirname}\\*.c” |
| C++ | “${fileDirname}\\*.cpp” |
| C/C++ | “${fileDirname}\\*.c”,“${fileDirname}\\*.cpp” |
这里的 ${fileDirname} 表示当前目录。
3.4.3 g++ : 无法将“g++”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

1、g++的安装路径或者文件名里面不要存在中文。
2、g++.exe和gcc.exe设置为“以管理员身份运行此程序”。

3、放行或者关闭杀毒软件

4、退出VScode后重新打开。
4. Vscode远程开发环境
在 VS Code 中配置远程服务器开发环境,核心是使用 Remote - SSH 扩展,通过 SSH 协议连接到远程服务器,并在本地获得完整的开发体验(包括代码编辑、终端、调试等)。以下是基于最新公开资料整理的配置步骤:
4.1 准备工作
- 本地要求:
已安装 VS Code(推荐 1.70+ 版本)。
本地系统需支持 SSH 客户端(Windows 10/11 自带 OpenSSH,macOS 和 Linux 原生支持)。 - 远程服务器要求:
SSH 服务已启用(systemctl status sshd 确认运行)。
网络可达(防火墙放行 SSH 端口,默认 22)。
用户有写入家目录权限(用于部署 .vscode-server)。
4.2 安装 Remote - SSH 扩展
- 打开 VS Code,进入扩展市场(快捷键 Ctrl+Shift+X)。
- 搜索 Remote - SSH(注意:必须选择 Microsoft 官方出品 的扩展)。
- 点击安装,安装完成后重启 VS Code。
✅ 安装后,左侧活动栏会出现 远程资源管理器图标(类似显示器加箭头)
4.3 配置 SSH 连接信息
有两种方式配置主机信息:
方式 1:通过命令面板添加(推荐)
- 按下
Ctrl+Shift+P(或Cmd+Shift+P)打开命令面板。 - 输入
Remote-SSH: Add New SSH Host并回车。 - 输入连接命令,例如:
ssh username@your_server_ip -p 22(一般端口为22)

- 选择配置文件的本地保存位置(通常为
~/.ssh/config)

方式 2:手动编辑 ~/.ssh/config
- 在本地文件 ~/.ssh/config(Windows 为 C:\Users\你的用户名.ssh\config)中添加如下内容:
ssh-config
Host my-server # 自定义别名
HostName 192.168.1.100 # 服务器 IP
User your_username # 登录用户名
Port 2222 # 非默认端口(如需)
IdentityFile ~/.ssh/id_rsa_myserver # 私钥路径(如使用密钥登录)
StrictHostKeyChecking no # 忽略主机密钥检查(测试环境可用
note:🔒 密钥登录建议:私钥权限设为 600(chmod 600 ~/.ssh/id_rsa_myserver)
4.4 连接远程服务器
在 VS Code 左侧 远程资源管理器中,点击刚配置的主机别名(如 my-server)。
或通过命令面板输入 Remote-SSH: Connect to Host…,选择对应主机

连接成功后,如下显示:

Note:
首次连接时,VS Code 一般会自动在远程服务器上创建 ~/.vscode-server 目录,并下载服务端组件。但是如果用户权限较低,导致无法成功创建文件,请系统管理员登录到远程服务器上,创建.vscode-server文件并授权 chmod 777 .vscode-server。

5. 快速开发环境
使用cygwin快速验证代码。
1669

被折叠的 条评论
为什么被折叠?



