【C语言编译器】02 Windows下 7 种C语言IDE的使用(万字长文警告,含Visual Studio多个版本)

news2024/9/25 3:25:57

目录

  • 一、Visual Studio
    • 1.1 VS 2010
    • 1.2 VS 2015
      • 1.21 简介
      • 1.22 使用
    • 1.3 VS 2017
      • 1.31 简介
      • 1.32 使用
    • 1.4 VS 2019
      • 1.41 简介
      • 1.42 使用
    • 1.5 VS 2022
    • 1.6 VS 安全函数问题
    • 1.7 VS “无法查找或打开PDB文件” 问题
  • 二、CLion
    • 2.1 CLion简介及安装
    • 2.2 使用CLion编写C程序
  • 三、Dev C++
    • 3.1 Dev C++简介及安装
    • 3.2 使用Dev C++编写C程序
  • 四、Code::Blocks
    • 4.1 Code::Blocks简介
    • 4.2 使用Code::Blocks编写C程序
      • 4.21 汉化
      • 4.22 (安装并)设置GCC编译器
      • 4.23 编写C程序
  • 五、VC++ 6.0
    • 5.1 VC 6.0简介与安装
    • 5.2 使用VC 6.0编写C程序
  • 六、 Turbo C++ 3.2
    • 6.1 Turbo C++ 3.2简介及安装
    • 6.2 使用Turbo C编写C程序
  • 七、C-Free 5.0
    • 7.1 C-Free 5.0 简介
    • 7.2 使用C-Free编写C程序
  • 八、Visual Studio Code
    • 8.1 VS code中使用Code Runner运行C程序
    • 8.2 VS Code中配置C语言gdb调试环境

一、Visual Studio

微软最新发布的visual studio 版本是22。建议使用2017及其之后的版本。

官方最新版(2022):https://visualstudio.microsoft.com/zh-hans/downloads/

官方旧版本:https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
此处,需要单击下载按钮以登录你的 Visual Studio (MSDN) 订阅,或者加入免费 Dev Essentials 计划以获取对较旧版本的访问权限。
在这里插入图片描述

嫌麻烦,又想用旧版本的,去别的地方下载也行。资源到处都是(比如镜像站、公众号)。🤣

1.1 VS 2010

为了更好地支持 Win7 程序的开发,微软于2010年4月12日发布了 VS2010。

VS2010 可以在 XP、Win7 和 Win8 下完美运行,但在 Win10 下可能会有兼容性问题。

太老了,这里就不介绍了吧,当初安装这个是使用iso镜像的,官网没有可供下载的资源。感兴趣的自己去其他地方找。

1.2 VS 2015

1.21 简介

为了更好地支持 Win10 程序的开发,微软发布了 VS2015。VS2015 支持开发人员编写跨平台的应用程序,从 Windows 到 Mac、Linux、甚至是编写 iOS 和 Android 代码!

VS2015 共有三个版本:

  • 社区版(Community):免费提供给单个开发人员、开放源代码项目、科研、教育以及小型专业团队!大部分程序员(包括初学者)可以无任何经济负担、合法地使用 VS2015 了。
  • 专业版(Professional):售价 1199 美元。
  • 企业版(Enterprise):售价 5599 美元。

1.22 使用

什么是项目(Project):

   本文要介绍的几款IDE有的直接可以编写和运行一个源程序,有的却要先建立一个项目。这里简要说说什么是项目。
  一个的软件,往往需要多个源文件和多种资源(而不仅仅是一个.c文件),例如图片、视频、控件等,通常是把它们放到一个文件夹下,进行有效的管理。
  你可以把工程理解为这样的一个文件夹,IDE通过工程来管理这些文件。工程有不同的类型,例如开发“黑窗口”的控制台程序,需要创建Win32 Console Application工程;开发带界面的GUI程序,需要创建Win32 Application工程。

使用VS2015编写C程序的步骤主要为:创建项目(project)->添加源文件->编写代码->生成程序->

  1. 创建项目:菜单栏中选择“文件 --> 新建 --> 项目”,或者使用快捷键:Ctrl+Shift+N
    选择“Win32控制台应用程序”(Win32 Console Application),填写项目名称,选择好存储路径,确定即可。项目名称和存储路径最好不要包含中文。
    在这里插入图片描述
    确定后会弹出向导对话框,点击下一步,出现下图,初学做如下设置,点击完成。
    在这里插入图片描述
  2. 添加源文件:在“源文件”处右击鼠标,或者Ctrl+Shift+A,在弹出菜单中选择“添加 -> 新建项
    在这里插入图片描述
    在“代码”分类中选择C++文件(.cpp),填写文件名,点击“添加”,你写C语言程序,后缀就是.c。(C++是在C语言的基础上进行的扩展,C++已经包含了C语言的所有内容,所以大部分的 IDE 只有创建C++文件的选项,没有创建C语言文件的选项。但是这并不影响使用,我们在填写源文件名称时把后缀改为.c即可,编译器会根据源文件的后缀来判断代码的种类。
    在这里插入图片描述
  3. 编写代码:
    在这里插入图片描述
  4. 生成并运行程序:
       (1)编译:菜单栏中选择“生成 --> 编译”,或者Ctrl+F7
    在这里插入图片描述
       如果代码没有错误,会在下方的“输出窗口”中看到编译成功的提示:在这里插入图片描述
      在项目的Debug 文件夹中,会看到一个名为hello.obj的文件,这就是经过编译产生的中间文件,这种中间文件的专业称呼是目标文件(Object File)
      (2)链接: 菜单栏中选择“项目 --> 仅用于项目 --> 仅链接 cDemo
    在这里插入图片描述
    没有错误同样会在输出窗口中你看到链接成功的输出信息。在项目的Debug 文件夹中,会看到一个名为cDemo.exe的文件,这就是最终生成的可执行文件。双击这个可执行文件即可运行程序,为了防止程序运行窗口闪一下就关闭(已经运行完了),可以在main函数结尾return 0;前添加: system("pause");
    或者也可以一键完成上诉步骤:点击运行按钮。
    在这里插入图片描述

不同Visual Studio中编写C语言程序的主要步骤与上面的步骤相似。后面其他版本的操作我会简化相似的步骤。

这里我们编写的是控制台程序(Console Application),它与DOS非常相似,早期的计算机程序都是这样的。这种程序虽然枯燥无趣,但是它非常简单,适合入门,有助于学习编程的基本知识;只有夯实基本功,才能开发出健壮的GUI(Graphical User Interface,图形用户界面)程序

1.3 VS 2017

1.31 简介

继 VS2015 版本后,微软又推出了功能更加强大的VS 2017。

Visual Studio 2017 不仅支持 C#、C++、Python、Visual Basic、Node.js、HTML、JavaScript 等各大编程语言,还能开发 iOS、Android 的移动平台应用,VS 2017 甚至还自带了 iOS 模拟器(之前为 MAC 独享的开发环境)。

VS 2017 版本同 15 版一样,细分为三个版本,分别是:

  • 社区版(Community):免费提供给单个开发人员,给予初学者及大部分程序员支持,可以无任何经济负担、合法地使用。
  • 企业版:为正规企业量身定做,能够提供点对点的解决方案,充分满足企业的需求。企业版官方售价 2999美元/年 或者 250美元/月。
  • 专业版:适用于专业用户或者小团体。虽没有企业版全面的功能,但相比于免费的社区版,有更强大的功能。专业版官方售价 539美元/年 或者45美元/月。

1.32 使用

1. 创建项目:与2015不同,这里初学者最好选择空项目,否则项目中自带有很多莫名其妙的文件,不利于初学者对项目的理解。(用熟悉了可以试试我没有推荐的设置)
在这里插入图片描述
2. 添加源文件:同2015版本。
3. 编写代码:同2015版本。
4. 运行程序:同2015版本。

1.4 VS 2019

1.41 简介

继 VS2015 和 VS2017 之后,微软于 2019 年 4 月 3 日发布了新版的集成开发环境——VS2019。

和 VS2017 相比,VS2019(Visual Studio 2019)更加强大,不仅新增了一键清除代码、利用实时协作开发共享代码等功能,还改进了 C++ 文件的 IntelliSense 性能、简化了解决方案资源管理器中的测试访问等。

VS2019 也分为以下 3 个版本:

  • 社区版(Community):免费提供给单个开发人员,给予初学者及大部分程序员支持,可以无任何经济负担、合法地使用。
  • 企业版(Enterprise):为正规企业量身定做,能够提供点对点的解决方案,充分满足企业的需求。企业版官方售价 250美元/月。
  • 专业版(Professional):适用于专业用户或者小型团体。虽没有企业版全面的功能,但相比于免费的社区版,有更强大的功能。专业版官方售价 45美元/月。

1.42 使用

  1. 创建项目:打开VS 2019 ,选择创建新项目
    在这里插入图片描述
    选择空项目,然后设置名称,保存位置即可。
    在这里插入图片描述
  2. 添加源文件:同之前版本。
  3. 编写程序:同之前版本
  4. 运行程序:点击“本地Windows调试器”。
    在这里插入图片描述

1.5 VS 2022

这是最新的版本(一般2年左右更新一次大版本),直接到微软官网安装即可。

操作同VS2019。

1.6 VS 安全函数问题

在 VS(Visual Studio)下编译C语言程序,如果使用了 scanf()、gets()、strcpy()、strcat() 等与字符串读取或操作有关的函数,有时候VS会报错,提示该函数可能不安全,并且建议替换为带有**_s** 后缀的安全函数

安全函数(safe function):
scanf()、gets()、fgets()、strcpy()、strcat() 等都是C语言自带的函数,它们都是标准函数,但是它们都有一个缺陷,就是不安全,可能会导致数组溢出或者缓冲区溢出,让黑客有可乘之机,从而发起“缓冲区溢出”攻击。

scanf_s()、gets_s()、fgets_s()、strcpy_s()、strcat_s() 是微软自己发明的安全函数,它们仅适用于 VS,在其它编译器下无效。这些安全函数在读取或操作字符串时要求指明长度,这样一来,过多的字符就会被过滤掉,避免了数组或者缓冲区溢出。

以 scanf_s() 为例:

scanf() 在读取字符串时不会检查字符个数,它不知道数组或缓冲区到底能容纳多少个字符,例如:

char buf[5]={0};
scanf(%s”, buf);

当用户输入abcdeABCDE这10个字符时,scanf() 会全部读取,并放入 buf 中,不过 buf 最多只能存储 5 个字符,不足以容纳用户输入的全部数据,所以多出来的 5 个字符就会使用 buf 后面的内存,而 buf 后面的内存可能没有使用权限,或者已经被别的数据占用,这就导致程序在运行时可能会出现不可预知的错误。

这种错误只能等到程序运行时才能检测出来,在编译期间根本无法检测;一旦检测出来只有一种后果,就是程序被操作系统终止,也就是我们常说的“程序崩溃”。

更改上面的代码,使用 scanf_s() 代替 scanf():

char buf[5] = {0};
scanf_s(%s”, buf, 5);

scanf_s() 最后一个参数用来指明数组或者缓冲区的大小,假设它的值为 n,那么最多只允许读取 n-1 个字符(因为最后要存储’\0’),多出来的字符就不再读取了,这样就可以避免读入过多的字符。与 scanf() 相比,scanf_s() 显然更加安全。

scanf的这种“不安全”特性我以前就遇到过,刚开始也感到奇怪,后来才慢慢有所了解。可见国际大厂的水平还是很高的💫。

不过对于刚开始学习编程的人来说,使用安全函数还没有必要,而且这只是微软的VS中才有效。我们可以关闭VS的这种安全性检查,即SDL检查(安全性开发生命周期检查)。

菜单栏中选择 “项目 --> xxx属性”(xxx是你的项目名称),在C/C++这里关闭SDL检查即可。(一般创建项目的时候也有这个选项,取消勾选也是一样的,不同版本可能有所差异)
在这里插入图片描述

1.7 VS “无法查找或打开PDB文件” 问题

有时候会出现“无法查找或打开PDB文件”的提示。
在这里插入图片描述
什么是PDB文件:

当程序在 VS 上编译时,程序所依赖的所有 动态链接库(dll 文件) 也会被编译,编译过程中每个 dll都会产生一个pdb文件,又称为“符号文件”,是一个存储数据的信息文件,其包含 dll库在编译过程的某些调试信息,例如程序中所用到的全局变量、局部变量、函数名以及他们的入口地址等。

pdb文件主要用于调试程序,多用于当VS中有多个项目,且项目之间互有依赖关系时,使用pdb文件调试程序,往往会事半功倍,初学者一般不会用到。

当使用VS调试程序时,会默认加载你的程序以及程序依赖的dll库产生的所有pdb文件,但是结果往往是VS自己找不到依赖库的pdb文件,于是就提示给你“无法查找或打开pdb文件”。

解决:

  1. 选择菜单栏中的“调试 --> 选项”,选择“调试 --> 常规”,在右侧选项栏中勾选“启用源服务器支持”(包含的 3 个子选项不用勾选),此时会弹出一个安全警报框,选择“”即可。在这里插入图片描述
  2. 选择“调试 --> 符号”,在右侧选项栏中勾选“Microsoft符号服务器”,此时会弹出一个提示对话框,点击“确定”即可。选择图示中的目录即可:在这里插入图片描述
  3. 重新运行程序即可。

二、CLion

2.1 CLion简介及安装

这个是Jetbrains的一款产品,我们经常使用他家的产品,比如pycharm、IEDA等。
在这里插入图片描述

CLion 是一款专为 C 语言和 C++ 设计的 IDE(Integrated Development Environment,集成开发环境),功能超级强大,既具有代码辅助、实时代码分析、集成调试器等多种基础功能,还附带版本控件等工具,可以极大地提高程序员的开发效率。

CLion 最大的优点是跨平台,在Linux、Mac、Windows 上都可以运行。CLion 还同时支持 GCC、Clang、MSVC 这 3 种编译器,使用 CLion 编写程序,程序员可以根据需要随意切换使用的编译器。

除了支持 C 语言和 C++ 编程外,还支持 Python、Objective-C、HTML、CSS、Swift 等语言。

这个只有30天免费试用,没有社区版。价格每年200美元左右。(如果你恰好财力雄厚并且喜欢这个IDE可以支持一下正版)

官网:https://www.jetbrains.com/zh-cn/clion/

安装的时候勾选所有选项即可(添加鼠标右键和桌面快捷方式看你自愿咯)。可以在CLion的插件商店里面安装中文语言包。
在这里插入图片描述

选择编译器:
进入软件,点击这里的ALl settings
在这里插入图片描述
在Toolchain中选择GCC:
在这里插入图片描述

这里MinGW是GCC的windows移植版本,准确来说MinGW是包含GCC的GNU工具集合。它包含:

  • 编译器 (支持 C、C++、ADA、和 Fortran )
  • GNU 工具
  • mingw-get (用于 Windows 平台安装和部署 MinGW 和 MSYS 的命令行安装器)
  • mingw-get-inst (用于 GUI 打包)

我早就安装有MinGW了,如果你没有,可以安装,或者选择其他你安装的C编译器,或者选择VS的编译器试试。

2.2 使用CLion编写C程序

创建工程:主页新建项目即可。选择C可执行文件,C11标准以及保存位置。
在这里插入图片描述
新建的项目如图所示:
在这里插入图片描述
点击工具栏中的“▶”运行按钮即可运行:
在这里插入图片描述

如果中文输出乱码:

  1. 设置编码为UTF-8在这里插入图片描述
  2. 这里选择GBK,重新运行一次在这里插入图片描述

三、Dev C++

3.1 Dev C++简介及安装

Dev C++ 是一款免费开源的 C/C++ IDE,内嵌 GCC 编译器(GCC 编译器的 Windows 移植版),是 NOI、NOIP 等比赛的指定工具。Dev C++ 的优点是体积小(安装下来50M上下)、安装卸载方便、学习成本低。

官方网站:https://www.bloodshed.net/
在这里插入图片描述

下载页面:https://sourceforge.net/projects/orwelldevcpp/postdownload

在上面的页面Download就可以了,安装的时候选择Full即可:
在这里插入图片描述
第一次进入需要选择软件语言(Chinese)、代码风格等,自己选就行了。

3.2 使用Dev C++编写C程序

Dev C++可以直接编写、编译、运行单一的源程序,而不一定要建一个项目。

直接文件->新建源代码或者项目即可。

然后运行->编译运行即可,或者分两步进行也可。
在这里插入图片描述


最好安装我上面提供的那个新版本,否则可能会由于系统原因发送编译失败的情况,比如:

在这里插入图片描述

四、Code::Blocks

4.1 Code::Blocks简介

Code::Blocks 是一款免费开源的 C/C++ IDE,支持 GCC、MSVC++ 等多种编译器,还可以导入 Dev-C++ 的项目。

Code::Blocks 的优点是:跨平台,在Linux、Mac、Windows 上都可以运行,且自身体积小,安装非常方便。
在这里插入图片描述
官方下载地址:http://www.codeblocks.org/downloads/binaries/#imagesoswindows48pnglogo-microsoft-windows

安装很简单,自定义一下安装目录即可。

4.2 使用Code::Blocks编写C程序

4.21 汉化

Code::Blocks 没有自带中文语言包,如果要汉化,可以自行添加。我建议大家多用用各种开发软件的英文界面,当然,初学者汉化一下也是可以的,不然各个选项都搞不清楚什么意思。

汉化包链接:https://pan.baidu.com/s/11TfPeB77o00OZZKfxoL8sA 提取码:code

将解压后的locale文件夹复制到:E:\CodeBlocks\share\CodeBlocks下面即可(具体以你的安装目录为准)。

操作完成后打开软件应该就汉化了,如果没有,可以手动选择语言:settings-> Environment->View
在这里插入图片描述
OK后,再次重启软件即可。

4.22 (安装并)设置GCC编译器

Code::Blocks不像Dev C++那样内嵌编译器,所以我们要设置编译器路径。

如果你之前就安装过编译器,直接设置路径就可以了。如果没有,就下载。

MinGW下载地址:https://sourceforge.net/projects/mingw/files/

安装时选择C语言的编译器:点击C++编译器前面的框框,Mark for instsllation,点击菜单栏中的 instsllation,选择apply changes
在这里插入图片描述

修改环境变量,在系统变量中Path里添加上mingw安装目录下的bin文件夹所在路径,如我的是:E:\MinGW\bin。(这个大家应该非常熟悉了,添加完后,打开cmd,输入gcc -v,检测是否成功设置环境变量)

在Code::Blocks中设置编译器位置即可:设置->编译器
在这里插入图片描述

现在就可以编写代买并编译运行了。

4.23 编写C程序

现在就很简单了。跟Dev C++差不多,你可以新建一个源文件然后编译运行,也可以新建项目。我就不新建了,直接打开刚刚在Dev C++新建的那个源文件。

Code::Blocks里的构建即其他IDE中的编译

直接一键运行即可。
在这里插入图片描述

五、VC++ 6.0

5.1 VC 6.0简介与安装

Visual C++ 6.0简称VC或者VC6.0,是微软1998年推出的一款C/C++ IDE,界面友好,调试功能强大。VC6.0是一款革命性的产品,非常经典。

“古老”的IDE,曾经非流行,现已过时,不推荐使用,了解即可(除非项目需要)。

安装包已经不好找了,我分享一个:链接:https://pan.baidu.com/s/165WN5ick_bmRRDie3460dg
提取码:vc60

VC6.0 能够在 XP 下很好的运行,无需进行额外的设置,但在 Win7、Win8 和 Win10 下,安装完成后还要修改兼容模式才可以。

在 VC6.0 的快捷方式或开始菜单上单击鼠标右键,选择“属性”:将兼容模式修改为Windows XP SP3 或 SP2。
在这里插入图片描述

5.2 使用VC 6.0编写C程序

不能单独编译和运行单一的源代码,需要先建立项目(project)。

  1. 新建项目(Win32 Console Application工程):菜单栏中选择“文件 -> 新建”,或者 Ctrl+N,在“工程”选项卡,选择“Win32 Console Application”,填写工程名称和路径,点击“确定”在这里插入图片描述
  2. 之后选择“一个空工程”,即可。
  3. 新建源文件: 菜单栏中选择“文件 -> 新建”,或者 Ctrl+N,在“文件”选项卡,选择“C++ Source File”,自行创建即可。
  4. 编写源代码
  5. 编译并运行: 在菜单栏的“组建下进行”编译、组建和执行即可,或者:在这里插入图片描述

项目文件夹中,除了你添加的源文件外,还有自动生成的其他文件,主要用于保存项目的相关信息。

  • .dsp文件:DeveloperStudio Project,工程文件(文本格式),保存当前工程的信息,如编译参数、包含的源文件等,不建议手动编辑。当需要打开一个工程时,打开该文件即可。
  • .dsw文件:DeveloperStudio Workspace,工作区文件,和DSP类似。
  • .opt文件:IDE的Option文件,保存了与当前工程有关的开发环境的配置,如工具条位置、打开的文件、光标位置等。
  • .plg文件:日志文件(HTML文件),保存了程序的编译信息,如错误和警告等。

六、 Turbo C++ 3.2

6.1 Turbo C++ 3.2简介及安装

Turbo C ++是美国 Borland 公司开发,应用于 DOS 平台上的一个 C 语言集成开发环境,它集编辑、编译,链接于一身,使得 C 语言的编辑,调试和测试都非常简捷,编译和链接速度极快,使用也很方便。了解即可,不建议使用,感兴趣可以尝试,界面可能不咋友好🤣🤣,毕竟只有3MB

下载链接:https://github.com/vineetchoudhary/TurboCPP/releases

安装后打开就这样:
在这里插入图片描述
左下角可以选择是否全屏,然后点击“Start Turbo C++”,会弹出一个新的编辑、编译、运行…的窗口,在这个窗口进行操作即可。

6.2 使用Turbo C编写C程序

最新的版本支持鼠标操作了,但是不建议使用鼠标:因为你在新窗口一旦使用的鼠标,那么鼠标就就被限制在这个窗口了,只有你关闭这个窗口,鼠标才能像往常一样使用。技师在这个窗口里面,对鼠标的支持也很不好。所以直接使用键盘+快捷方式就可以了。

Turbo C++ 3.2主要功能及快捷键:

  • F10:将光标移动到菜单栏;
  • Enter(回车):执行光标选中的项目;
  • 方向键:移动光标;
  • Alt X:关闭这个窗口;
  • Alt F9:编译;
  • Ctrl F9:运行;
  • F2:保存;
  • ESC:取消选中,用于切换到编辑状态。

单一源文件就可以运行了,没什么好说的。

可以看看我的视频操作:

Turbo

七、C-Free 5.0

7.1 C-Free 5.0 简介

C-Free 是一款国产的Windows下的C/C++ IDE,最新版本是 5.0,整个软件才 14M,非常轻巧,安装简单。

主页:http://www.programarts.com/cfree_ch/index.htm

C-Free 4.0是免费版,5.0是付费版,80缘🤣

官网列举的IDE特性:

  1. 支持多编译器,可以配置添加其他编译器;
    目前支持的编译器类型:
    (1) MinGW 2.95/3.x/4.x/5.0
    (2) Cygwin
    (3) Borland C++ Compiler
    (4) Microsoft C++ Compiler
    (5) Open Watcom C/C++
    (6) Digital Mars C/C++
    (7) Ch Interpreter
    (8) Lcc-Win32
    (9) Intel C++ Compiler

  2. 增强的C/C++语法加亮器,(可加亮函数名,类型名,常量名等);

  3. 增强的智能输入功能;

  4. 可添加语言加亮器,支持其他编程语言;

  5. 可添加工程类型,可定制其他的工程向导;

  6. 完善的代码定位功能(查找声明、实现和引用);

  7. 代码完成功能和函数参数提示功能;

  8. 能够列出代码文件中包含的所有符号(函数、类/结构、变量等);

  9. 大量可定制的功能
    可定制快捷键
    可定制外部工具
    可定制帮助(可支持Windows帮助、Html帮助和在线帮助);

  10. 彩色、带语法加亮打印功能;

  11. 在调试时显示控制台窗口;

  12. 工程转化功能,可将其他类型的工程转化为C-Free格式的工程,并在C-Free中打开。

7.2 使用C-Free编写C程序

文章写到这里,你已经会使用大多数IDE编写C程序了。C-Free很容易操作,这里就不用在列出详细步骤了。
在这里插入图片描述

八、Visual Studio Code

这虽然是一个编辑器,但是通过添加插件的方式,也可以运行C语言,功能还算完善。

官网:https://visualstudio.microsoft.com/zh-hans/downloads/

比如:你学习鸿蒙硬件开发,就会用到 Visual Studio Code,通过安装鸿蒙开发插件(Deveco Device Tool)、配置相应的工具链,就可以使用C语言进行开发了。
在这里插入图片描述

修改中文显示:

  1. 添加中文扩展插件:
    在这里插入图片描述
  2. 修改显示字体为中文:ctrl shift p,输入configure,选择configure display language,改为简体中文重启软件即可。
    在这里插入图片描述

8.1 VS code中使用Code Runner运行C程序

  1. 安装C/C++ 扩展:
    在这里插入图片描述
  2. 安装Code Runner,一样的方法。

现在就可右键选择Run Code来运行C程序了。但此时只能输出,不能输入。

在设置中搜索run in terminal,勾选即可。
在这里插入图片描述
运行示例:

在这里插入图片描述

8.2 VS Code中配置C语言gdb调试环境

GDB调试简介:

gdb是GNU开源组织发布的强大的Linux上的程序调试工具。一般来说,GDB主要有助于实现以下四个功能:

1、可以启动你的程序,按照你定制的要求随心所欲地运行程序。

2、可以使调试后的程序在指定的调试点停止。 (断点可以是条件表达式。)

3、程序停止的时候,可以检查这个时候在你的程序里发生的事情。

4、可以修改程序,纠正一个错误的影响,测试其他错误。

配置相对繁琐一丢丢。需要用到 4.22 节中安装的GCC编译器。在MinGW/bin/目录下需要有gcc.exe,g++.exe,gdb.exe才行。

如果有没有安装上的,在终端安装一下就可以了:

  1. 进入bin目录:cd E:\MinGW\bin
  2. 安装缺少的(如gdb):mingw-get install gdb

(1)设置编译器

ctrl shift P,输入C/C++,选择编辑配置(UI)

在这里插入图片描述

设置编译器路径,即4.22节安装的mingw,选择g++.exe:
在这里插入图片描述

完成后关闭,项目文件夹下多出一个.vscode文件夹。

(2)配置task编译任务:

  1. ctrl shift p,输入task
  2. 选择配置task(Task Configuration);
  3. 选择 g++.exe生成活动文件
  4. .vscode文件夹下多一个task.json文件。(指定了task名称,生成exe文件的存放路径等信息)

(3)配置launch调试任务

  1. 在.vscode文件夹内新建一个launch.json文件。

  2. 点击添加配置:
    在这里插入图片描述

  3. 选择(gdb)启动

  4. 修改launch.json
    原来的这几句需要修改:

    "program": "输入程序名称,例如 ${workspaceFolder}/a.exe",
    修改为task.json中的输出exe文件路径。
    "miDebuggerPath": "/path/to/gdb",
    修改为task.json中g++.exe的路径,名称改为gdb即可。
    添加调用编译任务,preLaunchTask,详见下文

修改的地方标注出来了:

{
“configurations”: [
{
“name”: “(gdb) 启动”,
“type”: “cppdbg”,
“request”: “launch”,
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
“args”: [],
“stopAtEntry”: false,
“cwd”: “${fileDirname}”,
“environment”: [],
“externalConsole”: false,
“MIMode”: “gdb”,
"miDebuggerPath": "E:/MinGW/bin/gdb.exe",
“setupCommands”: [
{
“description”: “为 gdb 启用整齐打印”,
“text”: “-enable-pretty-printing”,
“ignoreFailures”: true
},
{
“description”: “将反汇编风格设置为 Intel”,
“text”: “-gdb-set disassembly-flavor intel”,
“ignoreFailures”: true
}
],
"preLaunchTask": "C/C++: g++.exe 生成活动文件"
}
] }

现在重启VS Code,使用F5就可以调试了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/356427.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ubuntu 22.04不识别ch340串口】

这个真是挺无语的,发现国内厂商普遍对开源环境不感兴趣,ch340官方linux驱动好像被厂家忘了,现在放出来的驱动还是上古内核版本: 于是,驱动居然要用户自己编译安装。。还好网上有不少大神:链接,…

一起学 pixijs(3):Sprite

大家好,我是前端西瓜哥。今天来学习 pixijs 的 Sprite。 Sprite pixijs 的 Sprite 类用于将一些纹理(Texture)渲染到屏幕上。 Sprite 直译为 “精灵”,是游戏开发中常见的术语,就是将一个角色的多个动作放到一个图片…

零基础小白如何学会Java?

Java作为目前使用最广泛的编程语言,自身在常见的企业级业务应用程序以及Android应用程序等方面都有突出的表现。作为跨平台语言,具有安全性、易用性、通用性等特点,被特意设计用于互联网的分布式环境。 对于很多喜欢代码的小伙伴来说Java都是…

音乐播放器-- 以及数据库数据存储

运行环境 : java1.8 数据库以及代码编写工具 : sqlserver -- mysql 也可以 工具 eclipse 编码gbk窗体 : Swing使用了jaudiotagger 进行了音乐处理 图片展示 ----- 空闲时间 做出来玩的项目 部分功能还没有完善 完善了的功能 音乐 /// 主页 &a…

SheetJS的部分操作

成文时间:2023年2月18日 使用版本:"xlsx": "^0.18.5" 碎碎念: 有错请指正。 这个库自说自话升级到0.19。旧版的文档我记得当时是直接写在github的README上。 我不太会使用github,现在我不知道去哪里可以找到…

SpringMvc介绍。

目录 1、SpringMvc概述 1、基本介绍 2、工作流程 3、bean加载控制 二、请求 1、请求映射路径 2、请求方式 3、请求参数 4、请求参数(传递json数据) 5、日期类型参数传递 三、响应 四、REST风格 1、REST简介 2、RESTful入门案例 3、RESTfu…

信号完整性设计规则之串扰最小化

本文内容从《信号完整性与电源完整性分析》整理而来,加入了自己的理解,如有错误,欢迎批评指正。 1. 对于微带线和带状线,保持相邻信号路径的间距至少为线宽的2倍。 减小串扰的一种方式就是增大线间距,使线间距等于线…

GeniE 实用教程(三)属性

目 录一、前言二、材料属性三、截面属性3.1 梁横截面3.2 板壳厚度3.3 截面赋予四、截面偏置4.1 梁偏置4.2 板壳偏置五、局部轴方向5.1 梁的局部轴5.2 板壳的法向六、水力属性6.1 湿表面属性6.2 水动力参数七、参考文献一、前言 SESAM (Super Element Structure Anal…

23 pandas Excel文件的拆分与合并

文章目录一个文件夹下多个工作簿的合并【单独Sheet】同一工作簿中多个Sheet合并ExcelWriter针对不同工作表的操作将一个工作表拆分成多个工作表将一个工作表拆分成多个工作簿一个文件夹下多个工作簿的合并【单独Sheet】 1把文件夹下所有的文件都遍历出来2循环读取文件放入一个…

【C++】再谈vscode界面调试C++程序(linux) - 知识点目录

再谈vscode界面调试C程序(linux) 配套文档:vscode界面调试C程序(linux) 命令解释 g -g ../main.cpp 编译main.cpp文件; -g:生成调试信息。编译器会在可执行文件中嵌入符号表和源代码文件名&…

程序员必备的技能-深入理解 Linux 内核拆解

841 页的《深入理解 Linux内核》堪称经典,时隔多年打开,泛黄的纸张上面仍然跳跃出一个个让人心潮澎湃的知识点,突然让我想起一位微信朋友的昵称:知识的舔狗!拆,开始~前言第一章 绪论Linux与其他类Unix内核…

springmvc汽车企业公司网站的系统设计 java ssm

红旗汽车走进社区,走进生活,成为当今生活中不可缺少的一部分。随着汽车行业的发展,加强管理和规范管理司促进红旗汽车网站健康发展的重要推动力。在我国迎来良好的发展机遇,但同时也确实有许多问题的需要研究和探讨。系统主要完成…

pvs中pv显示[unknown]解决方法、正确剔除一个vg流程方法【不影响vg已有的lv数据】、vgs容量和硬盘容量显示不一致解决方法

文章目录pvs中pv显示[unknown]解决方法报错产生情况报错说明解决方法解决方法【无法修复情况,重要!!!】解决方法【正常情况下】正常的剔除一个vg流程【不影响vg已有lv】环境准备强制剔除正常剔除vgs容量和硬盘容量显示不一致解决方…

Mr. Cappuccino的第42杯咖啡——Kubernetes之Pod控制器(一)

Kubernetes之Pod控制器Pod控制器介绍ReplicaSet弹性扩容弹性缩容使用scale命令进行扩容或者缩容更新镜像删除ReplicaSetDeployment弹性扩容与缩容删除Deployment更新镜像重建更新滚动更新版本回退Pod控制器介绍 Pod是Kubernetes集群中能够被创建和管理的最小部署单元。所以需要…

Beats:使用 fingerprint 来连接 Beats/Logstash 和 Elasticsearch

针对带有 HTTPS 访问的 Elasticsearch 集群来说,在我之前的很多文章,我都习惯于使用集群的证书来访问 Elasticsearch。你可以参考我之前的文章 “Elastic Stack 8.0 安装 - 保护你的 Elastic Stack 现在比以往任何时候都简单”。这是一种非常简便的方法。…

一文搞懂 DevOps

前言 DevOps作为一个热门的概念,近年来频频出现在各大技术社区和媒体的文章中,备受行业大咖的追捧,也吸引了很多吃瓜群众的围观。 那么,DevOps是什么呢? 有人说它是一种方法,也有人说它是一种工具&#…

github上传本地文件详细过程

repository 也就是俗称的仓库 声明:后续操作基于win10系统 前提:有一个github账号、电脑安装了git(官方安装地址) 目的: 把图中pdf文件上传到github上的个人仓库中 效果: 温馨提示: git中复制: ctrl insert&#xf…

【JavaWeb】一文学会JPA

✅✅作者主页:🔗孙不坚1208的博客 🔥🔥精选专栏:🔗JavaWeb从入门到精通(持续更新中) 📋📋 本文摘要:本篇文章主要介绍JPA的概念、注解实现ORM规范…

微信小程序学习第11天——Vant Weapp组件库、API Promise化、全局数据共享Mobx、分包

目录一、小程序对npm 的限制二、使用Vant Weapp组件库1、安装组件2、使用组件3、定制全局样式三、API Promise化1、下载miniprogram-api-promise2、引入3、使用四、全局数据共享五、分包1、分包概念2、使用分包3、独立分包4、分包预下载一、小程序对npm 的限制 在小程序中使用…

数值方法笔记2:解决非线性方程

1. 不动点定理及其条件验证2. 收敛阶、收敛检测与收敛加速2.1 如何估计不动点迭代的收敛阶xk1g(xk){x}_{{k}1}{g}\left({x}_{{k}}\right)xk1​g(xk​)2.2 给定精度的情况下,如何预测不动点迭代需要迭代的次数2.3 如何加快收敛的速度2.4 停止不定点迭代的条件2.5 不动…