开始放飞之先搞个VSCode

文章目录

  • 开始放飞之先搞个VSCode
    • 重要提醒
    • 安装VSCode
    • 下载MinGW-w64
    • 回到VSCode中去
    • VSCode原生调试
    • 键盘问题
    • 遗留问题
    • 参考文献

开始放飞之先搞个VSCode

突然发现自己的新台式机上面连个像样的编程环境都没有,全是游戏了!!!!
这怎么符合我好好学习天天向上努力奋斗勾搭好看小妹妹的初衷呢,不行,我们今天先来搞个VScode,虽然工作中常用的是VS studio,但是对VSCode神往已久了,磨刀不费砍柴功,等等我怎么连个像样的输入法都没有,啊我天天打错别字啊
在这里插入图片描述

重要提醒

本篇内容是在DeepSeek大将军的技术指导下完成的

安装VSCode

就在官网安装就好饿了
在这里插入图片描述
哦吼,怎么一上来可以用AI辅助,还free,不信哦,啊换电脑了,我的github密码是什么啊,先不搞吧

在这里插入图片描述
这个好像有点意思啊 不用鼠标 这不错 等下试试 奥 是通过设置不同的快捷键来方便操作就不用点了 不错
在这里插入图片描述
先跟着提示下载一个C/C++ Extension Pack,等等这个排序好多语言,还有Dart,好像很火,好想当全栈工程师啊
应该是这个Extension Pack 他只是支持带有C++特性的编辑器,如果想要真正运行C++程序需要依赖于电脑上我们自己安装的编译器,那种能在cmd窗口中像python一样的编译器
对的,Deepseek大将军告诉我:

  • 编辑器而非IDE: VSCode 本质上是高度可定制的代码编辑器(类似 Sublime Text),而非全功能的 IDE(如 Visual Studio、CLion)。它的优势在于轻量、快速、扩展性强,通过插件可以实现 IDE 的大部分功能。
  • 多语言支持:
    默认支持多种编程语言(通过语法高亮、代码补全等),但运行和调试需要额外配置工具链或插件。

如果需要运行和调试,需要额外配置C++编译器和调试器,Windows下安装MinGW-w64 或 MSVC(这两个东西在VSstudio中是无感的,我在QT里面见过,让我选对应的编译工具,是吗还是只有第一个在QT中见过),此外deepseek大将军还告诉我 macOS/linux系统中通常自带g++或clang,啊他们怎么这么好,对了鸿蒙系统里面有内置的编译器吗

OK,那我们先来研究并安装一下这个MinGW-w64把

下载MinGW-w64

MinGW-w64(Minimalist GNU for Windows 64-bit)是一个开源的 Windows 工具链用于编译和运行 C/C++ 程序。它是经典 MinGW 的升级版,支持:

  • 64位和32位程序编译(x86_64 和 i686)。
  • 现代 C/C++ 标准(如 C++11/14/17/20)。
  • Windows API 开发(如 Win32 程序)。
  • 生成原生 Windows 可执行文件(.exe),不依赖第三方运行时库。
    (说实话我只熟悉第一条,而且为什么叫i686呢,啊!!)
    在这里插入图片描述
    seek将军推荐我使用预编译二进制包,感觉就是人家编译好了,还做了个exe安装程序,给你拷贝一下,那我们就用MSYS2(主打听劝),这个还是得开梯子下载不然好慢,我用平板下的,稍等现在平板是不是可以和电脑直接互联啊
    在这里插入图片描述
    破华为,意思是我得全套才行,不能搞个通用的传输工具吗? 商机啊,牛马驴。
    啊,我又尝试了用蓝牙连接,蓝牙传东西怎么这么慢啊,要死了,才81.98M,这么慢,哇!!!!!!!!!!!
    哇终于好了,也安装好了
    MSYS教程里给我说了个这什么,合着你只是个下载器,骗子骗子,奥奥,deepseek大将军告诉了我说他是一个包管理器,好吧,看在你教程做的不错的份上就不和你计较了,略略略,快点给老子下载。
pacman -S mingw-w64-ucrt-x86_64-gcc

在这里插入图片描述
OK,安装完了
在这里插入图片描述
等下我们的下载目标不是MinGW-w64,怎么现在是gcc了,难道是一个东西,
OK,别急,是这样的,MinGW-64是一个为windows系统提供GNU(这个词我总是想到GUN,哈哈)工具链的开源项目,其核心任务是将GCC和其他GNU工具,适配到Windows平台,使其能够生成原生的Windows程序。
总之就是MinGW-64包含编译器(GCC),二进制工具链(链接器和汇编器),gdb调试,和WindowsAPI头文件和库等,如下图就是下载下来的ucrt64工具链(等等,这就是说,C++代码在windows系统上的运行,需要调用windows系统的某些接口,从而完成一些内核指令,操作系统是用来隔离和保护的,而究竟是在哪一部做的这个事情嘞,这个先放放)
在这里插入图片描述

  • GCC 是核心编译器MinGW-w64 是让 GCC 在 Windows 上工作的“适配层”
  • 在 Windows 上开发 C/C++,你需要通过 MinGW-w64 使用 GCC

等等,那么GCC和g++有什么区别,编译的时候不是只用g++吗,但我在bin目录下却看到了这个

g++.exe main.cpp -o main.exe

在这里插入图片描述
这是怎么一回事呢
在这里插入图片描述在这里插入图片描述
我的天哪,Deepseek你好厉害,我是不是快失业了,呜呜呜,明白了意思是我们下载的MinGW-w64里面是既包含g++也包含gcc的编译器的,

OK,那接下来的一步就是把下载的mingw-w64-ucrt-x86_64-gcc(UCRT)中的bin目录加到windows的环境变量中去,添加完成后就可以在cmd中使用 g++ --version 来查看编译器版本,并能在cmd中通过bash命令来对cpp代码进行编译了,哦耶。
在这里插入图片描述

有关这两的区别,Deepseek大将军是这么说的,OK
在这里插入图片描述
那我们现在是不是就可以回到VScode中去了,啦啦啦啦啦啦

回到VSCode中去

VScode好笨呀,那现在我们如何把二者关联起来,能够在VScode中点击运行就运行呢,像破烂VStudio一样

奥奥 明白了 在VScode中运行代码,其实和我们在bash中编译代码成为exe并运行exe别无二致,那么我们就需要考虑定义相关的编译参数和调试(运行)参数。大胆猜一下,支持一键运行代码的Code Runner是不是就是帮我生成了一份默认的编译参数和调试参数呢?

在这里插入图片描述
推荐大家直接使用code Runner,还是在Extension中下载,哈哈哈,编译参数和调试参数以及中文等需要再去调整吧,嘿嘿嘿,in your face,中文乱码问题
等等 code Runner怎吗调试呢
在这里插入图片描述
在这里插入图片描述
哦吼,CodeRunner不支持代码调试,怪不得,我说怎么插件官方的Usages里面没有,要使用VSCode原生调试方法了,Deepseek大将军说只用配置一次,不错,不对那不还是一个工程需要配置一次,下午再搞吧,累了累了,希望今天能把这个弄完 =.=

VSCode原生调试

关于launch.json和tasks.json的生成,胡乱点点就有了
在这里插入图片描述
在这里插入图片描述

搞完这两个后,开启debug

在这里插入图片描述
出现提示说找不到pipe program, 说着就让我打开launch.json
突然发现我没有安装gdb,合着前面只是安装了个编译器

在这里插入图片描述
安装完gdb之后,再将自动生成的launch.json中的相关字段改为对应msys64编译工具链中的对应可执行文件。

在这里插入图片描述
这里的pipeProgram不太好理解,Deepseek大将军是这样说的
在这里插入图片描述
就是说这里的debuggerPath和pipeProgram需要来自同一套编译工具链。
这样改完之后,就能通过F5开关开启调试了,哦耶。

键盘问题

先解决一个键盘问题,我的阿斯盾键盘(打广给钱)87块钱但感觉超级牛皮,windows键一直用不了windows+R,强迫症要犯了
问了一下客服,还有 Fn + W 切换WIN系统,和 FN + A 切换苹果系统的说法, 牛皮,穷的没用过苹果,这两个系统之间对于键盘来说有什么区别嘞,不懂不明白

遗留问题

  1. VSCode内部控制台输出中文乱码问题,Deepseek让我去改settings.json,改完了还是不生效啊
  2. launch.json与tasks.json的深入研究
  3. 其他插件的研究,我要搞好多语言的编译器,啊哈哈哈虽然我不会,还有VSCode不是有个leetcode插件,下回来搞,好想打游戏
  4. 对于MinGW64编译链的研究,本质上来说,C++是高级语言,经过编译器后能变成所在系统可以读懂的二进制文件,那么在这个过程中,编译链是如何与系统相互适配的,是否Windows系统有一份规范,说你必须翻译成这样我才能看懂,OK,那么编译链的工作就是一个Windows国家的翻译。
  5. VSCode的AI辅助编程功能,够义气吧VSCode,记得给我打钱

参考文献

https://blog.csdn.net/ScienceRui/article/details/117392080
Deepseek大将军:https://chat.deepseek.com/

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

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

相关文章

【2025“华中杯”大学生数学建模挑战赛】选题分析 A题 详细解题思路

目录 2025“华中杯”大学生数学建模挑战赛选题分析A题:晶硅片产销策略优化B题:校园共享单车的调度与维护问题C题:就业状态分析与预测D题:患者院内转运不良事件的分析与预测 A 题 晶硅片产销策略优化问题 1:月利润计算模…

YOLO11改进,尺度动态损失函数Scale-based Dynamic Loss,减少标签不准确对损失函数稳定性的影响

在目标检测领域,标签噪声与尺度敏感问题始终是制约模型性能提升的"阿喀琉斯之踵"。2025年CVPR最佳论文提出的尺度动态损失函数(Scale-based Dynamic Loss, SDL),通过构建自适应损失调节机制,不仅实现了对YOLOv11检测精度的指数级提升,更重新定义了损失函数的设…

缓存 --- 内存缓存 or 分布式缓存

缓存 --- 内存缓存 or 分布式缓存 内存缓存(In-Memory Cache)分布式缓存(Distributed Cache)内存缓存 vs 分布式缓存 内存缓存和分布式缓存是两种常见的缓存策略,它们在存储位置、访问速度和适用场景上有所不同。下面分…

Python+CoppeliaSim+ZMQ remote API控制机器人跳舞

这是一个使用Python和CoppeliaSim(V-REP)控制ASTI人型机器人进行舞蹈动作的演示项目。 项目描述 本项目展示了如何使用Python通过ZeroMQ远程API与CoppeliaSim仿真环境进行交互,控制ASTI人型机器人执行预定义的舞蹈动作序列。项目包含完整的机…

进程管理,关闭进程

查看Linux系统中的进程信息 语法:ps【-e -f】 一般与管道符与grep配合使用,,去过滤指定的信息 -e:显示出全部的进程 -f:以完全格式化的形式展示信息(展示全部信息) 简单用法:p…

线性代数-矩阵的秩

矩阵的秩(Rank)是线性代数中的一个重要概念,表示矩阵中线性无关的行(或列)的最大数量。它反映了矩阵所包含的“有效信息”的维度,是矩阵的核心特征之一。 直观理解 行秩与列秩: 行秩&#xff1…

CSS伪类、clip-path实现三角形、箭头绘制

<template><div :class"$options.name"><div class"triangle-container1"><!-- 伪类三角形&#xff1a;向右 --><div class"triangle-RM"></div><!-- 伪类三角形&#xff1a;向下 --><div class&q…

numpy、pandas内存优化操作整理

前言 python作为一款不怎么关注数据类型的语言&#xff0c;不同类型的数据可以往同一个变量中放置 这也就直接导致&#xff0c;作为熟悉C这种一个变量只有一个类型的程序员来说&#xff0c;在解读python程序时&#xff0c;想搞清楚变量中到底存的是什么数据类型的时候时常很头…

Linux本地&远程主机文件传输

一.实验环境 sshd 是SSH (Secure Shell)协议的守护进程。 功能用途 远程安全连接: sshd允许用户通过网络安全地登录到远程服务器。在传统的Telnet等协议中&#xff0c;数据传输是明文的&#xff0c; 容易被窃取和篡改。而SSH协议通过加密技术&#xff0c;对传输的数据进行加…

Windows网络及服务:制作系统盘

今天我要介绍的是一个比较有意思且好玩的一个小玩意儿&#xff1a;关于系统盘的制作&#xff1b; 注明&#xff1a;对于系统盘的制作&#xff0c;以及接下来的课程&#xff0c;基本是作为动手课业来进行的&#xff0c;这也是作为程序员的必要进行的一项活动。 对于系统盘&…

【人工智能】大模型的Prompt工程:释放DeepSeek潜能的艺术与科学

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 Prompt工程是大模型应用中的关键技术,通过精心设计的提示词(Prompt),用户能够有效引导模型生成高质量输出。本文深入探讨了优化DeepSee…

企业管理战略转型与模式创新策略

一、战略思维创新 在当前数字经济快速扩张的背景下&#xff0c;企业战略需紧密追随时代潮流&#xff0c;致力于深度创新以适应市场的瞬息万变。这一创新主要围绕两大战略核心展开&#xff0c;一是跨界融合策略&#xff0c;二是生态系统策略&#xff0c;它们共同塑造了企业在新…

1-1 什么是数据结构

1.0 数据结构的基本概念 数据结构是计算机科学中一个非常重要的概念&#xff0c;它是指在计算机中组织、管理和存储数据的方式&#xff0c;以便能够高效地访问和修改数据。简而言之&#xff0c;数据结构是用来处理数据的格式&#xff0c;使得数据可以被更有效地使用。 数据结构…

03-HTML常见元素

一、HTML常见元素 常见元素及功能&#xff1a; 元素用途<h1>~<h6>标题从大到小<p>段落&#xff0c;不同段落会有间距<img>显示图片&#xff0c;属性src为图片路径&#xff0c;alt为图片无法显示时的提示文本<a>超链接&#xff0c;属性href为链…

使用Cloudflare加速网站的具体操作步骤

要通过Cloudflare加速网站&#xff0c;您需要按照以下步骤进行设置和配置。这些步骤包括域名设置、接入Cloudflare、配置缓存和其他设置&#xff0c;以及测试网站性能。 1. 注册Cloudflare账户 访问Cloudflare官网&#xff1a;前往 Cloudflare官网。创建账户&#xff1a;点击…

C++算法(10):二叉树的高度与深度,(C++代码实战)

引言 在二叉树的相关算法中&#xff0c;高度&#xff08;Height&#xff09;和深度&#xff08;Depth&#xff09;是两个容易混淆的概念。本文通过示例和代码实现&#xff0c;帮助读者清晰区分二者的区别。 定义与区别 属性定义计算方式深度从根节点到该节点的边数根节点深度…

AI Agent开发第35课-揭秘RAG系统的致命漏洞与防御策略

第一章 智能客服系统的安全悖论 1.1 系统角色暴露的致命弱点 当用户以"你好"开启对话后追问"你之前说了什么",看似无害的互动实则暗藏杀机。2024年数据显示,93%的开源RAG系统在该场景下会完整复述初始化指令,导致系统角色定义(如电商导购)被完全暴露…

获取电脑信息(登录电脑的进程、C盘文件信息、浏览器信息、IP)

电脑的进程信息 // 获取登录电脑的进程信息String os System.getProperty("os.name").toLowerCase();String command;if (os.contains("win")) {command "tasklist";} else {command "ps -ef";}try {Process process new ProcessB…

如何在腾讯云Ubuntu服务器上部署Node.js项目

最近弄了一个Node.js项目&#xff0c;包含前端用户前台&#xff0c;管理后台和服务端API服务三个项目&#xff0c;本地搭建好了&#xff0c;于是在腾讯云上新建了个Ubuntu 24.04服务器&#xff0c;想要将本地的Node.js项目部署上去&#xff0c;包括环境配置和数据库搭建。 本文…

国产AI新突破!全球首款无限时长电影生成模型SkyReels-V2开源:AI视频进入长镜头时代!

在 AI 技术日新月异的今天&#xff0c;我们再次见证了历史性的突破。 昆仑万维 SkyReels 团队于近日正式发布了全球首款支持无限时长的电影生成模型——SkyReels-V2&#xff0c;并免费开源。这无疑为 AI 视频领域掀开了崭新的一页&#xff0c;标志着 AI 视频正式迈入长镜头时代…