大型网站开发语言/专业搜索引擎seo公司

大型网站开发语言,专业搜索引擎seo公司,学校网站建设制作方案,少儿编程加盟店目录 编辑器与IDE基于vscode的C开发环境配置1. 下载vscode、浅尝编译。番外篇 2. 安装插件,赋能编程。3. 各种json文件的作用。c_cpp_properties.jsontask.jsonlaunch.json 总结&&彩蛋 编辑器与IDE 上一篇博客已经介绍过了C程序的一个编译流程,从…

目录

  • 编辑器与IDE
  • 基于vscode的C++开发环境配置
    • 1. 下载vscode、浅尝编译。
      • 番外篇
    • 2. 安装插件,赋能编程。
    • 3. 各种json文件的作用。
      • c_cpp_properties.json
      • task.json
      • launch.json
  • 总结&&彩蛋

编辑器与IDE

 上一篇博客已经介绍过了C++程序的一个编译流程,从这篇文章开始进行编程的实验。
 正所谓“工欲善其事,必先利其器”,有很多小白入门时大把的时间都被浪费在配置和安装开发环境上,因此这篇博客将从易于理解的角度来讲讲怎么样配好一个C++的开发环境,目标是一次学习永远记忆。
 其实写一个能运行的程序是一个很简单的事情,如果你用的是windows系统可以直接创建一个扩展名为.cpp的文件,然后用自带的文本编辑器进行编辑,然后在终端使用g++编译器对其进行编译就能得到一个能运行的.exe文件了,因此C++开发环境只需要文本编辑器+编译器即可完成搭建。
 但事实上,为了更舒服与高效地写程序,我们还需要许多额外的功能,例如自动补全、语法纠错、程序调试 等。单个文本编辑器(例如vscode)不具备这样的功能,因此还需要安装额外的一些插件来配合使用,这就是这章主要讲的内容如何在vscode上安装与配置好C++开发需要的插件
 但对于IDE(集成开发环境)来说,这些插件功能与文本编辑器本身已经融为一体,不需要额外的安装配置,使用起来比vscode轻松简单很多,常见的IDE有,DevC++、VS、CLion,Eclipse等。但为什么还需要劳心费力地教大家学习使用vscode呢?

  1. 首先,vscode全开源,市面上大部分的IDE都需要收费与许可证。
  2. 其次,vscode可以在Windows也可以在Linux上使用,一次学习终身有用。
  3. 最重要的是vscode支持多种多样的插件与扩展功能,例如ai代码补全等,拥有传统IDE不具备的灵活性。
  4. 最后一点就是帅!能显得自己很专业。

基于vscode的C++开发环境配置

1. 下载vscode、浅尝编译。

做这一步前,请先确认你安装了MinGW编译环境
 点击这个链接进入官网进行下载,完成之后进行安装,这里要注意,安装路径不要出现中文!!!
在这里插入图片描述
安装好后我们打开vscode:
在这里插入图片描述
选做,只看就行)此时界面一片漆黑,还有很多看不懂的外国语。我们先不着急进行汉化,来浅尝一下vscode作为文本编辑器的功能,新建一个hello_world.cpp文件,并在其中写入经典开局代码:

#include<iostream>
int main()
{std::cout << "hello world!\n" <<endl;return 0;
}

明摆着告诉你,上面的代码里有些问题(自己去发现)。但是在vscode中显示的效果如下:
在这里插入图片描述
 我们可以发现,vscode作为一个文本编辑器,对于编程自带高亮功能,这表明它其实是专门设计用来编程的一个文本编辑器。并且重要的是,原生的vscode对于错误代码并没有纠错能力更不要说自动补全功能了。
 根据前面的知识,我们可以使用终端运行g++编译器来对上面的代码进行编译:
点击Terminal-->New Terminal在vscode中创建一个终端。
在这里插入图片描述
在终端中输入g++ --version查询一下编译器是否存在以及是否好用。如果显示你没有安装编译器,那么可以自行百度一些MinGW(推荐)或者MSVC的安装,十分简单。
在这里插入图片描述
输入g++编译指令,对代码进行手工编译:

g++ hello_world.c -o hell_world

在这里插入图片描述
如果你代码没改好,那么编译就会报错,显示endl前少了作用域std:: 补上这个部分,运行编译:
在这里插入图片描述
发现不再报错,同时我们的文件夹下多了一个hello_world.exe文件,输入:

.\hello_world.exe

执行结果如下,果然输出了hello_world!语句
在这里插入图片描述

番外篇

g++编译器利用-c选项可以只编译出.o文件,再通过手工链接的方式将.o·文件链接为.exe可执行文件。
在这里插入图片描述

2. 安装插件,赋能编程。

点击最左边的扩展,搜索扩展插件:
在这里插入图片描述
C/C++编程安装两个插件即可:

  1. Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code(汉化包)
  2. C/C++ Extension Pack(这个包包含了C/C++、C\C++Themes、CMake Tools
    安装完重启后,如下图:
    在这里插入图片描述
    这下我们发现,vscode开始自动纠错了,并且补全等功能也有了,仿佛似乎它已然成为了一个IDE。并且注意右上角新出现的三角形
    在这里插入图片描述
    点击后发现有两个选项:
    在这里插入图片描述
    点击运行C/C++文件,在随后的选项框中选择我们需要的编译器g++:
    在这里插入图片描述
     这样,我们就可以实现代码一键运行功能了。
    总结:安装插件后,vscode得以实现自动纠错、代码补全、一键编译、一键调试等功能。

3. 各种json文件的作用。

在Visual Studio Code(VSCode)中,.vs文件夹是一个用于存储与项目相关的配置和临时数据的目录。下面介绍几个重要的.json文件。

c_cpp_properties.json

这个文件主要用来配置C/C++编辑器的自动补全和索引等功能。按下 F1 调出面板,输入 C/C++,选择编辑配置(UI)。
首先找到编译器路径选项,将编译器地址放入:
在这里插入图片描述
然后再配置IntelliSense模式,IntelliSense是代码补全工具,将其设置为与编译器兼容的格式,例如这里是gcc-x64。
在这里插入图片描述
接下来再配置自动补全的包含路径:包含路径就是#include文件所在的路径,这里面默认有了一个workspaceFolder,代表当前目录下的所有文件,如果使用的库不在当前的工作目录下则需要在这里手动添加进去。
在这里插入图片描述
一般情况下,标准库的文件编译器是会自动去寻找的,但有时候标准库文件会提示找不到库,那么就需要在这里手动地把库头文件路径包含进去了。具体查询方式如下:

g++ -v -x c++ -E -

在这里插入图片描述
将后面这几行粘贴进去(注意去掉前面的空格)。
最后再设置一下C++标准:
在这里插入图片描述
然后我们可以发现,.vs文件夹下多了个文件:c_cpp_properties.json

{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "10.0.22621.0","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "windows-gcc-x64","compilerPath": "\"D:\\mingw64\\bin\\g++.exe\""}],"version": 4
}

其实就是把我们在窗口内配置的信息转成了json代码。

task.json

当我们选择了编译器后(点击一键运行),项目配置文件夹.vs下就会生成一个task.json文件。这个文件的内容如下:

{"tasks": [{"type": "cppbuild", "label": "C/C++: g++.exe 生成活动文件", #任务标签(名字)"command": "D:\\mingw64\\bin\\g++.exe", "args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": { "kind": "build","isDefault": true },"detail": "调试器生成的任务。"}],"version": "2.0.0"
}

task.json文件主要是用来指导编译过程的,其中很重要的两条是:

"command": "D:\\mingw64\\bin\\g++.exe" //这条指定了用哪个编译器。"args": [ //这条指定了编译指令的参数"-fdiagnostics-color=always","-g", //启用调试学习"${file}", //源文件名"-o", //输出文件"${fileDirname}\\${fileBasenameNoExtension}.exe" //输出文件名]

launch.json

launch.jsons是调试配置文件,位于.vscode隐藏文件夹下。生成调试配置文件launch.json的方法很简单:打开vscode左边栏的运行于调试即可创建。
在这里插入图片描述
然后选择使用的调试器即可完成创建:
在这里插入图片描述
然后可以选择一种调试器的模板:
在这里插入图片描述
但是,这里我们需要对launch.json模板修改,代码如下:

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "输入程序名称,例如 ${workspaceFolder}/a.exe",//替换成task.json里生成的可执行文件名字"args": [], //传递给.exe的参数"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "/path/to/gdb","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}]"preLaunchTask": "C/C++: gcc.exe 生成活动文件" //换成task.json的label名}]
}

各个参数的意义:
基础参数‌

name‌
作用‌: 调试配置的名称,显示在调试启动下拉列表中。
示例‌: “name”: “Python: Current File”
type‌
作用‌: 指定调试器类型,需与安装的调试扩展匹配(如 python, node, go, cppdbg)。
示例‌: “type”: “python”(使用 Python 扩展调试)
request‌
作用‌: 定义调试请求类型:
 launch: 启动新程序进行调试(默认)。
 attach: 附加到已运行的进程。
 示例‌: "request": "launch"
program‌
作用‌: 指定要调试的入口文件路径(适用于编译型或脚本语言)。
示例‌: "program": "${file}"(调试当前打开的文件)

语言/环境相关参数‌

args‌
作用‌: 传递给程序的命令行参数列表。
示例‌:
&emsp;"args": ["--port", "8080", "--verbose"]
env‌
作用‌: 设置调试时的环境变量。
示例‌:
"env": {"PYTHONPATH": "${workspaceFolder}/src", "DEBUG_MODE": "true"}
cwd‌
作用‌: 指定调试器的工作目录(程序运行的根路径)。
示例‌: “cwd”: “${workspaceFolder}/bin”

高级调试配置‌

preLaunchTask‌
作用‌: 调试前自动执行的任务(需在 tasks.json 中定义)。
任务名要和tasks.json里面的"label"值对应一致
console‌
作用‌: 控制调试控制台类型:
internalConsole: VSCode 内置终端(默认)。
integratedTerminal: 使用 VSCode 集成终端。
externalTerminal: 打开外部系统终端。
示例‌: “console”: “integratedTerminal”
stopOnEntry‌
作用‌: 是否在程序入口处自动暂停(用于逐行调试)。
示例‌: “stopOnEntry”: true

几个注意的点就是:

  1. program,改成与task.json中一致的
  2. preLaunchTask改成task.json的label值
    配置完成后即可开始程序的调试,例如打断点,查看变量等。

总结&&彩蛋

 本篇文章目的在于走通流程,具体的内容例如json文件怎么写,各个参数具体的含义还需要大家自己去查更多的资料。最后,留给大家一个彩蛋,这其实是一个vscode一键配置的程序,具体使用如视频所示。我看了一下,真的确实很方便,希望能带给大家帮助吧!

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

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

相关文章

PPT 转高精度图片 API 接口

PPT 转高精度图片 API 接口 文件处理 / 图片处理&#xff0c;将 PPT 文件转换为图片序列。 1. 产品功能 支持将 PPT 文件转换为高质量图片序列&#xff1b;支持 .ppt 和 .pptx 格式&#xff1b;保持原始 PPT 的布局和样式&#xff1b;转换后的图片支持永久访问&#xff1b;全…

VSCode 抽风之 两个conda环境同时在被激活

出现了神奇的(toolsZCH)(base) 提示符&#xff0c;如下图所示&#xff1a; 原因大概是&#xff1a;conda 环境的双重激活&#xff1a;可能是 conda 环境没有被正确清理或初始化&#xff0c;导致 base 和 toolsZCH 同时被激活。 解决办法就是 &#xff1a;conda deactivate 两次…

git | 回退版本 并保存当前修改到stash,在进行整合。[git checkout | git stash 等方法 ]

目录 一些常见命令&#xff1a; git 回退版本 一、临时回退&#xff08;不会修改历史&#xff0c;可随时回到当前版本&#xff09; 方法1&#xff1a;git checkout HEAD~1 问题&#xff1a;处于 detached HEAD 状态下提交的&#xff0c;无法直接 git push ✅ 选项 1&…

如何使用 Postman 进行接口测试?

使用 Postman 这一工具&#xff0c;可以轻松地进行接口测试。以下是一份简单的使用教程&#xff0c;帮助你快速上手。 Postman 接口测试教程&#xff1a;详细步骤及操作技巧

写作软件新体验:让文字创作更高效

一、开篇引入:写作难题的破解之道 在当今信息爆炸的时代,写作成为了我们生活和工作中不可或缺的一部分。然而,面对繁琐的写作任务,我们时常感到力不从心,甚至陷入创作的瓶颈。那么,有没有一款软件能够帮助我们破解这一难题,让文字创作变得更加高效和轻松呢?答案是肯定…

大模型思维链COT:Chain-of-Thought Prompting Elicits Reasoningin Large Language Models

一、TL&#xff1b;DR 探索了COT&#xff08;chain-of-thought prompting&#xff09;通过一系列的中间推理步骤来显著的提升了LLM的复杂推理能力在三个大型语言模型上的实验表明&#xff0c;思维链提示能够提升模型在一系列算术、常识和符号推理任务上的表现解释了一下为什么…

决策树算法详解:从西瓜分类到实战应用

目录 0. 引言 1. 决策树是什么&#xff1f; 1.1 生活中的决策树 1.2 专业版决策树 2. 如何构建决策树&#xff1f; 2.1 关键问题&#xff1a;选哪个特征先判断&#xff1f; 2.1.1 信息熵&#xff08;数据混乱度&#xff09; 2.1.2 信息增益&#xff08;划分后的整洁度提…

超融合服务器是什么

超融合服务器的定义与背景 超融合服务器&#xff08;Hyperconverged Infrastructure, HCI&#xff09;是一种通过软件定义技术&#xff0c;将计算、存储、网络和虚拟化功能整合到单一硬件平台中的IT基础设施解决方案。其核心目标是通过资源的高度集成和统一管理&#xff0c;简…

【网络层协议】NAT技术内网穿透

IP地址数量限制 我们知道&#xff0c;IP地址&#xff08;IPv4&#xff09;是一个4字节32位的整数&#xff0c;那么一共只有2^32也就是接近43亿个IP地址&#xff0c;而TCP/IP协议栈规定&#xff0c;每台主机只能有一个IP地址&#xff0c;这就意味着&#xff0c;一共只有不到43亿…

时隔多年,终于给它换了皮肤,并正式起了名字

时隔多年&#xff0c;终于更新了直播推流软件UI&#xff0c;并正式命名为FlashEncoder。软件仍使用MFC框架&#xff0c;重绘了所有用到的控件&#xff0c;可以有效保证软件性能&#xff0c;也便于后续进一步优化。 下载地址&#xff1a;https://download.csdn.net/download/Xi…

如何避免测试环境不稳定导致的误报

避免测试环境不稳定导致误报的核心方法包括搭建独立稳定的测试环境、使用环境监控工具、建立环境变更管理机制、定期维护更新测试环境以及提升团队的环境管理意识。 其中&#xff0c;搭建独立稳定的测试环境尤为关键。独立的测试环境能有效隔离其他环境的干扰&#xff0c;保证测…

Axure RP9教程 :轮播图(动态面板) | 头部锁定

文章目录 引言I 轮播图操作步骤在画布中添加一个动态面板设置面板状态II 头部锁定将头部区域选中,右键组合或用Ctrl+G快捷键;将组合的头部区域,右键创建动态面板;引言 动态面板的功能十分强大,比如:拥有独立的内部坐标系,有多个状态; Banner的案例中会用到动态面板多个…

Docker入门篇4:查看容器资源、查看容器详细信息、查看容器日志、查看容器内运行的进程

大家好我是木木&#xff0c;在当今快速发展的云计算与云原生时代&#xff0c;容器化技术蓬勃兴起&#xff0c;Docker 作为实现容器化的主流工具之一&#xff0c;为开发者和运维人员带来了极大的便捷 。下面我们一起开始入门第四篇&#xff1a;查看容器资源、查看容器详细信息、…

中学数学几百年重大错误:将无穷多各异假R误为R——两数集相等的必要条件

中学数学几百年重大错误&#xff1a;将无穷多各异假R误为R——两数集相等的必要条件 黄小宁 设集A&#xff5b;x&#xff5d;表A各元均由x代表&#xff0c;相应变量x的变域是A。其余类推。本人多年前公开发表的论文中有定理&#xff1a; h定理&#xff08;两数集相等的必要条…

STM32使用红外避障传感器

1.1 介绍&#xff1a; 该传感器模块对环境光适应能力强&#xff0c;其具有一对红外线发射与接收管&#xff0c;发射管发射出一定频率的红外线&#xff0c;当检测方向遇到障碍物&#xff08;反射面&#xff09;时&#xff0c;红外线反射回来被接收管接收&#xff0c;经过比较器…

python tkinter 开发蓍草占卜系统

1. 项目概述 1.1 简介 蓍草占卜是中国传统的占卜方法&#xff0c;用于演算六十四卦。本系统通过现代编程技术&#xff0c;将传统的蓍草占卜方法数字化&#xff0c;提供一个准确、便捷的占卜工具。 蓍草占卜&#xff0c;作为中国古代的一种传统占卜方法&#xff0c;承载着深厚…

2025-3-25算法打卡

一&#xff0c;走迷宫 1.题目描述&#xff1a; 给定一个 NMNM 的网格迷宫 GG。GG 的每个格子要么是道路&#xff0c;要么是障碍物&#xff08;道路用 11 表示&#xff0c;障碍物用 00 表示&#xff09;。 已知迷宫的入口位置为 (x1,y1)(x1​,y1​)&#xff0c;出口位置为 (x…

ISIS-3 LSDB链路状态数据库同步

上一章我们介绍了ISIS的邻居建立关系以及ISIS的路由器角色有哪些,在不同的网络类型当中建立邻居关系有什么不同,并且以实验案例抓包的形式给大家进一步介绍了建立的过程。 这一章我们来介绍ISIS中是如何实现链路状态数据库同步的,与OSPF的链路状态同步有什么不同,在不同网络类…

Opencv计算机视觉编程攻略-第三节 图像颜色处理

第三节 图像颜色处理 1.颜色比较2.GrabCut分割图像3.色调、饱和度以及亮度 1.颜色比较 主要实现逐像素的颜色比较&#xff0c;其中注意BGR颜色空间不连续&#xff0c;不利于颜色提取和区分&#xff0c;转换到Lab空间&#xff1a; int getColorDistance(const cv::Vec3b& c…

BoomCut AI 技术创建本地化的营销视频

目录 视频翻译实验 交换实验 数字人实验 核心功能与技术亮点 适用场景 BoomCut 提供用于视频翻译、数字人等的 AI 技术,以快速创建本地化的营销视频 视频翻译实验 电影电影哪吒之魔童降世换成西班牙语