首页 > 其他分享 >详解使用VS code搭建C语言环境遇到的那些坑(适合小白)

详解使用VS code搭建C语言环境遇到的那些坑(适合小白)

时间:2023-09-27 10:32:13浏览次数:36  
标签:gcc code GNU C语言 VS studio cygwin 安装


Vs code搭建C语言环境

为啥想起来要装c环境?是因为亲属家的大一新生小朋友问我关于c的问题!好吧,学c语言那是20年前的事儿了,但是在小朋友面前也不能跌份,于是乎准备温习一下c!一切代码都的从选IDE开始,网上看了一下,现在比较多的就是推荐visual studio(vs)和visual studio code(vs code),如果想写点小demo的用notepad++也可以。出于对vs code的熟悉程度,我选择了vs code(这里对该ide的使用细节不做更多讲解,自行百度即可)。需要安装如下几个插件:如下图所示

详解使用VS code搭建C语言环境遇到的那些坑(适合小白)_环境变量

一切语言都从Hello World走起。c的Hello world代码如下,文件命名为hello.c

#include <stdio.h>

int main()

{

printf ("Hello, World!\n");

return 0;

}

发现首行 #include <stdio.h> 报错,无法打开 源 文件 "stdio.h"。错误原因就是本机没有安装GCC。

什么是GCC

GCC是由GNU开发的编程语言编译器。GCC原名为GNU C语言编译器(GNU C Compiler),只能处理C语言。但其很快扩展,变得可处理C++,后来又扩展为能够支持更多编程语言,如Fortran、Pascal、Objective -C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)随后百度获取信息,在windows上安装gcc,需要通过cygwin或者mingw,二者都是gcc在windows下的编译环境,推荐cygwin较多,于是去官网下载https://cygwin.com/install.html。

注意:下载成功后,默认安装,注意一定要把C:\cygwin64\bin 加入环境变量中!

然后重启visual studio code 无法识别#include <stdio.h> 的错误仍然存在!然后又在网上查找了各种资料,最后发现是在默认安装cygwin的过程中,并没有安装gcc!具体解决方案如下:

成功安装cygwin会在桌面中创建Cygwin64 Terminal图标

详解使用VS code搭建C语言环境遇到的那些坑(适合小白)_c语言_02

关键的步骤来了,双击图标进入命令行模式,然后执行如下命令即可:

前提条件:使用cd 命令进入setup-x86_64.exe所在目录

./setup-x86_64.exe -q -P wget -P gcc-g++ -P make -P diffutils -P libmpfr-devel -P libgmp-devel -P libmpc-devel

注意:在Cygwin64 Terminal 中需要使用linux系统中运行程序的命令来启动exe文件!即:

./setup-x86_64.exe

命令成功执行后,在visual studio code 中再次运行c的helloworld 程序,发现大功告成!

详解使用VS code搭建C语言环境遇到的那些坑(适合小白)_GNU_03

谨以此文献给刚刚步入编程世界的大一新生以及职场刚刚入门c语言的同仁们!

一个典型的错误

在vscode 中运行c代码出现 以‘gcc’开头,后面跟着貌似问号的一系列乱码

详解使用VS code搭建C语言环境遇到的那些坑(适合小白)_#include_04

初步尝试:

我相信绝大多数人的第一想法都是中文乱码!起初我也是这样的想法,在网上各种找资料,结果都是在setting里设置encoding的值重启vscode,然而根本解决不了我的问题!

再次尝试

接下来,我把代码中的中文换成了英文,还是出现同样的问题,显然这就与编码没有关系了!再看提示是:gcc…加一堆乱码!出于测试人员的职业敏感度,我想会不会是gcc出了什么问题呢?

最终解决方案出炉

在cmd窗口中,输入gcc,提示: 'gcc' 不是内部或外部命令,也不是可运行的程序,恍然大悟!忘了配置gcc 路径的环境变量!我的pc上安装的是cygwin,于是把C:\cygwin64\bin 添加到环境变量中,接下来在vscode中再次运行c代码,一切尽在情理之中,完美运行!

标签:gcc,code,GNU,C语言,VS,studio,cygwin,安装
From: https://blog.51cto.com/liwen629/7621243

相关文章

  • vscode编写markdown
    1.需求分析2.环境搭建1.需求分析最近在网上折腾了好久Markdown的写作环境,作为一个普通用户,总结一下个人对于Markdown写作环境的几点需求。由于本人刚接触Markdown不久,因此,需求也比较简单,想看具体搭建步骤的可以直接跳到第二章环境搭建:本地存储。这一点主要是出于隐私要......
  • 视频融合平台EasyCVR接入华为ivs3800平台提示400报错的原因及解决方法
    青犀视频平台的开源EasyDarwin视频监控解决方案EasyCVR在复杂网络环境中表现出色。它能够将分散的各类视频资源集中管理,实现统一汇聚和整合。EasyCVR支持多种画面窗口播放模式,包括1、4、9、16个画面窗口,同时可以播放多路视频流,并且支持视频定时轮播功能。此外,EasyCVR还兼容多种播......
  • VS2019安装PCL 1.11.1
    1.从官网下载PCL:https://github.com/PointCloudLibrary/pcl/releases 下载这两个文件就行2.安装运行下载好的exe进行安装,注意这一步要选第二个添加到系统变量,一直下一步安装到默认路径即可: 我这里安装的时候选成了第一个,但是没关系,安装好后再系统变量的Path里添加: 然......
  • 刷这几道LeetCode,掌握哈希表的三种类型
    基础知识常用代码  哈希表一共有3种哈希结构,分别是数组、set(集合)、map(映射)数组  数组就是把不同的元素映射到不同的地址运用数组创建哈希表,应当遵循以下两个原则:1.所映射的元素的数值种类不多(比如26个字母)2.映射关系比较好表达(比如26个字母,就可以用该元素-'a'作为映射)......
  • vscode 運行node.js的命令會瀏覽其他程序打開
      终端输入命令get-commandnpm后   至C:\Windows\System32刪除npm ......
  • 手写数字数据集AutoEncoder降噪算法
    对训练数据加噪声的方法,在训练里面对x做如下处理,添加椒盐噪声:bs,ch,h,w=x.shapex=x.reshape(bs,ch,h*w)+0.2*np.random.normal(size=28*28)x=x.to(torch.float32)数据集里面的标签label无用,因为AutoEncoder去噪是无监督方法。......
  • Codeforces Round 738 (Div. 2) A. Mocha and Math
    给一个数组\(a_1,a_2,\cdots,a_n\)。可以执行以下操作任意次:选择\(l,r(1\leql<r\leqn)\),对于任意\(l\leqi\leqr\),同时执行所有\(a_{l+i}=a_{l+i}\&a_{r-i}\)。希望经过若干次操作后,\(a\)的最小的最大值。性质:\(x\&y\leqmin(x,y)\)。......
  • 【C语言初阶篇】for语句的基本语法和使用规则!
    <br><br/><center><fontcolor="#006666">......
  • AtCoder Beginner Contest 318
    AtCoderBeginnerContest318A-FullMoon(atcoder.jp)以\(M\)为首项,\(P\)为公差,看\(1\simN\)里包含了多少项的个数#include<bits/stdc++.h>usingi64=longlong;usingnamespacestd;typedefpair<i64,i64>PII;intmain(){ios::sync_with_stdio......
  • uber go code 规范(规范)
    前言从接触Golang到现在,感觉到的很深的一点是,go的代码无论是大佬还是菜鸟写出的代码,都有着大体统一的格式/流程,这也是Go被开发者喜爱的一个原因,但是还有一些,比如变量的命名方式等,可以称之为风格的东西,却不尽相同,我在开发中,其实也希望有一个相对权威......