技术标签: C语言基础 开发环境配置 c++ vscode ide
对于 VS Code 的使用,我本人感觉这个编译器还是很好用的,而且目前能够支持在 Windows、Linux、MacOs 上流畅运行,并且官方已经提供了 X86、ARM等主流架构版本,还很容易通过安装插件就能过实现基于 SSH 的远程代码调试。
虽然用了它很久,相比其他 IDE 来说,最熟悉的也就是 VS Code ,可以说这款 IDE 的使用真的万能:
虽然功能很多,但是相比功能,其实需要了解的配置也很多。我最常用的方式其实还是它的编辑代码和阅读代码功能(代码阅读跳转也很好用)。本文就来介绍和记录使用 VS Code 的详细配置流程和方法。
VS Code 的下载很简单,直接访问官方的 VS Code 网站:https://code.visualstudio.com/
如下图所示:
直接点击这里就能够下载当前你的主机匹配的环境安装包(VS Code 网站会根据你的访问机器自动为你展现匹配主机系统环境的安装包)。如果你是要在当前主机上安装 VS Code ,那么直接点这里下载就好了(下载速度可能不快,耐心等待就好了)。
如果你是想给其他计算机下载安装包的话,尤其是你当前主机是 Windows 系统,想要下载 Linux 系统的安装包时,就需要点击右上角的 Download
,跳转如下图所示:
在这里,你就能够找到匹配自己目标机器的所有的 VS Code 安装包了。
前一步完成了安装包的下载后,下面根据自己不同的操作系统进行安装即可:
Windows 环境下在安装好 VS Code 时,就会自动将环境变量进行修改,这时候你就发现自己的右键菜单会多出来 VS Code 选项,在打开文件或者文件夹时就可以通过点击右键选择通过 VS Code 打开方式进行打开。打开画面如下:
这个界面不论在哪个环境下都是一样的。
Linux 环境下使用 VS Code 打开文本文件或者项目目录的话,只需要在终端使用 code
命令打开就好了(类似 vim
的使用方式)
首先应该确保系统中已经安装了编译器,因为 VS Code 是不自带编译器的,这里推荐使用 c/c++ 编译器(如mingw,clang),下载编译器并且配置好环境,具体操作如下:
mingw-w64应该可以算是mingw的改进版本吧,mingw系列编译器是非常好的并且主流的c/c++编译器
mingw-w64只负责程序的编译,只提供命令行操作没有编辑代码的图像界面,代码的编写需要由文本编辑器(如vscode)来完成
安装步骤:
首先官网去下载:mingw-w64
但普通人群可能会因为一些原因下载失败,所以一般建议下载离线版解压后添加环境变量
离线版下载地址:https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/sjlj/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0.7z/download
下载后选一个合适的位置解压,这个位置也就相当于是安装位置(顺便给文件夹改个短一点的名字)
进入解压好的文件夹下的bin文件夹
复制下来路径
然后在此电脑鼠标右键选择属性
选择高级系统设置
点环境变量
选择系统环境变量下的Path
选择编辑
点新建
然后把刚刚复制的文件路径粘贴进去
然后一路点确定退出
完成
验证一下
按win+r运行cmd或者powershell输入gcc -v
出现下图的信息说明一切顺利
结束
之后就能通过g++ xxx.cpp -o xxx.exe这样的命令行指令编译c/cpp文件了
编写示例源代码 hello.c
打开 VS Code 终端窗口
使用 gcc 编译器编译,这里的 gcc 编译器是系统配置好的
code runner 插件默认的 c/c++ 编译器是 gcc/g++,需要提前安装好并且设置好环境变量,通常选择MinGW 或者 MinGW-w64,建议选 mingw-w64,一般用户建议下载离线版解压后添加环境变量,离线版下载地址:下载链接
在cmd下输入gcc -v确认是否成功,出现关于gcc -v的相关信息(如下图)就表示成功
点击vscode左侧面板中的插件商店按钮
安装好下面两个插件
注意,如果没安装 clang 的话不要安装推荐插件里的 c/c++ clang 插件,否则应该会报错
安装好后重启一下vscode这样就能在右上角看见一个三角形了,打开文件点击就能编译执行
但此时会有这样一个问题
如果程序里有scanf()等请求键盘输入数据的函数,此时无法从键盘输入数据,并且程序无法结束需要关闭重启vscode才能重新执行
测试 C 语言代码:
#include <stdio.h>
int main()
{
char buf[100] = {0};
scanf("%s", buf);
printf("hello world!\n");
printf("%s\n", buf);
return 0;
}
运行一下,结果如下:
测试 C++ 代码:
#include <iostream>
using namespace std;
int main()
{
cout << "hello world !" << endl;
return 0;
}
Windows 平台下下载以下版本安装包即可:
双击安装:
到次就可以尝试编写 GO 语言文件进行执行:
测试代码:
package main
import "fmt"
func main(){
fmt.Println("hello world")
}
VS Code 作为一款强大的程序开发 IDE ,简洁的界面加上强大的插件功能,目前还没有发现什么地方是 VS Code 不能做的(开玩笑)。对于这么强大的一款 IDE ,大家如果深入学习后就会发现这简直太强大了。当然,我目前用到最多的也只是它的源代码编辑和阅读功能,对于其他功能,还需要不断研究(SSH 远程开发代码的功能是真的很好用,如果你的代码或者是嵌入式开发的话,那么这种方式简直能剩下太多时间了)。我主要用到 C/C++ 在这里。大家如果有什么问题可以留言给我,我会尽快回复的。
文章浏览阅读804次,点赞9次,收藏25次。可以设置一个默认值作为字典中新key的默认值。该默认值可以是任何对象, 包括函数、列表、元组、集合等。默认值不需要像dict那样事先定义,因为它在需要的时候会自动创建使用defaultdict,可以简化代码并提高代码的可读性,而且可以防止KeyError异常的出现。同时,defaultdict的性能与普通字典相当,因为底层实现并不影响字典的性能。
文章浏览阅读4.3k次。MQTT是一个由IBM主导开发的物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。应项目要求使用MQTT协议实现客户端与服务端通信。_mqttandroidclient
文章浏览阅读1.2k次。1.本来电脑安装的是anaconda3 5.3.1,但安装的python版本是3.7,后来卸载了安装anaconda3 4.4.0,这个版本是3.62.打开Anaconda Promptconda --version //检查Anaconda是否成功安装(如果成功会显示版本号)conda update conda //更新conda版本conda create -n tensorflow p..._anaconda3+对应python3.6
文章浏览阅读1.1w次,点赞18次,收藏124次。第十一届蓝桥杯单片机省赛题目解析这次题目照样还是LED、数码管、按键三大模块,还有模拟电压输入(ADC)、AT24C02(EEPROM),都是常见的外设,且之前题目出现过的,所以不难,考的都是基本功。1 数码管显示数码管主要显示获取的电压、计数和参数设置三个界面,不过要注意上电之后就要显示电压数据界面。2 LED当电压小于设置的参数时5s后L1亮,这个还是很好做的。当计数为奇数时L2亮,计数的话,我是先判断电压是..._蓝桥杯单片机考什么
文章浏览阅读484次。DescriptionGiven n differentobjects, you want to take k of them. How many ways to can do it? For example, saythere are 4 items; you want to take 2 of them. So, you can do it 6 ways. Take 1, _快速幂求逆元 在线oj
文章浏览阅读6.6k次,点赞10次,收藏23次。现在开头:Fairseq是一个正在快速迭代的产品,而且是开源的!这不是表扬,这意味着三件事情:1.他没有文档!所有框架代码都没有任何注释,包括函数docstring都没有2.他没有经过有效测试,估计是抢时间吧!即使是官网Readme里的例子也是无法跑起来的!3.他是一个框架,而且是一个非常不Pythonic的框架,充斥着inline/包装器/莫名其妙的语法。虽然这三点决定他真的对不住Facebook的金字招牌,但是作为一个学习者,总要把他运行起来,那么开始这场针对 FaceBOOK派“全_final_lr_scale
文章浏览阅读803次。LOOP指令是根据ECX计数器循环,将语句块重复执行特定次数。ECX自动作为计数器, 每重复循环一次就递减1。语法如下所示:。在上面的例子中,每次循环都将EAX加1。当循环结束时, EAX=5, ECX= 0一个常见的编程错误是, 在循环开始之前, 无意中将ECX初始化为0。如果发生了这种情况, LOOP指令将ECX减1后, 其值就变为FFFF FFFFh,循环次数就变成了4294967296。_loop指令
文章浏览阅读970次,点赞10次,收藏9次。DRW寄存器将AP访问直接映射到一个32位内存访问:对DRW的写入命令MEM-AP启动对内存系统的写入访问DRW的读取命令MEM-AP启动对内存系统的读取访问。对于SWD编程,我们可以将CSW设置为(2_swd下载程序时序
文章浏览阅读3.3k次。ASCON:以“慢而稳”赢得NIST轻量级加密算法标准_ascon
文章浏览阅读982次。全部已在本机验证,可能根据用户安装的系统功能不同而有些命令无效。设备管理器 hdwwiz.cpl 或devmgmt.msc添加或删除程序 appwiz.cpl管理工具 control admintoolsBluetooth文件传送向导 fsquirt计算器 calc证书管理控制台 certmgr.msc字符映..._window bat call 环境
文章浏览阅读1.1w次,点赞8次,收藏82次。相机标定_相机标定
文章浏览阅读1.1k次。const date = new Date()const year = date.getFullYear()const month = date.getMonth() + 1 >= 10 ? date.getMonth() + 1 : `0${date.getMonth() + 1}`const day = date.getDate() >= 10 ? date.getDate() : `0${date.getDate()}`const hours = date.getHours() ._js 时分秒 时间格式