欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Windows下使用VS Code 编译、运行和调试C/C++

程序员文章站 2022-07-06 12:38:47
...

Windows下使用VS Code 编译、运行和调试C/C++

本文首发于https://chens.life/vscode-c.html

编译运行设置

前期准备

1、安装VS Code

VS Code官网下载最新版本安装包,注意 User InstallerSystem Installer 的区别。一般来说,如果使用 Administration账户登录的就下载System Installer版本的,其他个人账户的下载User Installer版本。

私有云备份:User InstallerSystem Installer。密码都是:chens.life

Windows下使用VS Code 编译、运行和调试C/C++

安装时,勾选所有的选项。

Windows下使用VS Code 编译、运行和调试C/C++

2、安装MinGW

这是必要的c语言编译器组件包,下载最新版本[Mingw-w64](https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/mingw-builds/installer/mingw-w64-install.exe/download),由于国内速度慢,可以直接下载离线版本 Mingw-w64私有云备份,密码:chens.life。解压到合适的位置之后,需要配置系统变量中Path的值,将<解压路径>\bin添加进去,例如我的是C:\mingw64\bin

Windows下使用VS Code 编译、运行和调试C/C++

最后打开cmd验证一下是否安装成功,输入gcc --version,看是否有版本信息。

3、安装必要插件

在vscode中按快捷键Ctrl+Shift+X,依次搜索安装如下图的插件。

Windows下使用VS Code 编译、运行和调试C/C++

配置

新建文件夹,例如hello,打开文件夹,右键,选择 通过Code打开

按快捷键Ctrl+Shift+P,输入c/c++,选择第一个(UI)图形界面配置。

Windows下使用VS Code 编译、运行和调试C/C++

配置编译器路径,选择刚才解压的路径下的gcc.exe,选择InterlliSense模式为 gcc-64

Windows下使用VS Code 编译、运行和调试C/C++

测试

新建hello.c文件,

Windows下使用VS Code 编译、运行和调试C/C++

输入

#include <stdio.h>
int main()
{
    printf("hello world\n");
    return 0;
}

Ctrl+S保存后,快捷键Ctrl+Alt+N运行,或者点击右上方小开始按钮。Windows下使用VS Code 编译、运行和调试C/C++

运行成功。

解决一些问题

无法向终端输入内容

包含标准输入函数的程序,例如:

#include <stdio.h>
//打印用户输入的字符串
int main()
{
    char s[100];
    char a;
    int i;
    while(a != EOF){
        for (i = 0; (a = getchar()) != '\n' && i < 100 && a != EOF; i++){
            s[i] = a;
        }
        if (a != EOF)
        {
            printf("%s\n", s);
        }
        
    }
    printf("END\n");
    return 0;
}

此时,我们需要改为在命令终端中运行程序。Ctrl+,打开设置,搜索 run in Terminal,勾选Windows下使用VS Code 编译、运行和调试C/C++

调试

一般来说,此时的调试是正常的。如果报错,则需要修改 launch.json 文件,即修改"miDebuggerPath": <gdb.exe的路径>,我的是C:\\mingw64\\bin\\gdb.exe,这里需使用转义\\

Windows下使用VS Code 编译、运行和调试C/C++

结语

觉得其他文章都写得太过于繁琐,如果按照我的方法应该会简单很多。

参考文档:

  • https://code.visualstudio.com/docs/cpp/config-mingw#_prerequisites
  • https://zhuanlan.zhihu.com/p/77645306