一. 需要的工具

1. 安装Windows10的电脑(建议版本1709以上,因为Linux子系统在1709版本已升级为正式版);

2. 网络连接;

3. Linux基础知识。

二. 安装Linux子系统

1. 打开Windows控制面板,依次点击进入:所有控制面板项、程序和功能、启用或关闭Windows功能,在弹出的窗口滚动到最低端,勾选适用于Linux的Windows子系统,然后点击确定。如下图:

程序和功能

Windows功能

这时系统会进行一些配置然后提示重启,选择立即重启。重启后进行下一步。

2. 在Microsoft Store搜索Linux,如下图:

搜索结果

Ubuntu

选择你喜欢的Linux发行版并点击进去安装。因为我已经安装了Ubuntu,所以搜索结果里并没有显示Ubuntu。建议选择Ubuntu,出现问题网上解决方法很多,高手请无视这条建议。安装完成后点击启动。第一次启动会显示正在安装,请耐心等待,安装完成后会看到提示设置账户名和密码的英文信息,我们只需要按照要求设置账户名和密码就行了。当我们设置好账户和密码后Linux就准备完毕了,输入:

lsb_release –a

按回车,如下图:

确认Linux版本

表示安装完成。(输入命令行时注意空格和大小写,Linux严格区分大小写)

三. 安装C/C++开发工具包

Debian系列

在终端中输入:

sudo apt update

按回车,然后输入密码,按回车开始更新如下图:

更新源

这条命令的目的是更新源列表,至于什么是源列表我也不知道,Linux基础知识不是本文重点。如果网络不好或其它问题,可能会更新失败,建议换源。Linux如何换源请查看其它文章,本文不做赘述。

更新完毕后再在终端中输入:

sudo apt install build-essential

按回车,开始安装.途中需要输入y来继续安装。

RedHat系列:

dnf update

dnf group list

dnf group install 'Development Tools'

安装完毕后输入:

gcc --version

按回车,如下图所示:

确认gcc版本

输入:

g++ --version

按回车,出现如下图所示的提示证明g++安装成功。接下来你就可以像在真正的Linux系统中一样使用gcc/g++编译你的源代码了。

确认g++版本

g++的用法在这里简单的说一下。

编译当前目录下文件名为b.cpp的源文件,得到当前目录下文件名为b.out的二进制文件:

g++ -o b.out b.cpp

如果要编译的文件不在当前目录则需要输入绝对路径,如:

/home/Tom/b.cpp

如果不指定编译后的二进制文件的文件名,则默认的二进制文件名为a.out。

执行编译得到的二进制文件:

./b.out

更多用法请看别的文章,本文不做详细讲解

四.使用

1. 在终端中访问Windows驱动器

Windows驱动器挂载在目录

/mnt/

如下图所示。

驱动器挂载目录

访问C盘请输入:

cd /mnt/c

按回车,进入C盘。D盘、E盘、F盘等同理。

2. 在PowerShell中打开bash

在Windows10中,我们可以随时随地在任何目录进入PowerShell。在任意目录中按下shift并用鼠标右键点击,在右键菜单目录中选择PowerShell。进入PowerShell后我们可以输入:

bash

按回车进入bash,这时PowerShell窗口就相当于Linux中的终端,我们可以用Linux系统随心所欲的操纵当前文件夹,比如用g++编译c++源文件。如果遇到不能操作的文件只要输入exit退出bash用Windows PowerShell操作即可。这样就可以很方便地用Windows资源管理器来浏览文件,用Linux系统操纵文件,是不是很有趣?

3. 由于PowerShell 默认背景是蓝色的,在使用Linux系统中的vi编辑器时,有的字体颜色与背景色相同(例如在vi编辑器中输入#include)因而完全看不见。我们可以通过更改PowerShell背景颜色来解决。同时按下widnows键和x键,弹出菜单后按a键,弹出对话框后点击确定,打开PowerShell。在PowerShell的标题栏右击鼠标,弹出菜单中选择属性,然后选择颜色标签页,这样我们就可以自定义PowerShell背景颜色了。如下图所示:

PowerShell设置背景颜色

如果是通过在文件夹中按shift鼠标右击进入PowerShell,或是通过各种快捷方式文件打开PowerShell,则需要再设置一次。

五. 结语

刚刚听说Windows的Linux子系统成为正式版了,而且又突然想学学c++,所以决定搭建一个这样的环境来学习c++。但是我在网上找了好久但找不到完整的教程,所以决定自己自己写一个。第一次写这样的文章,希望能为需要学习c++却又不知道如何选择开发环境的人提供一点小小的帮助,如有疏漏之处请指出,我会及时改正,谢谢!

linux 开发c工具箱,利用Windows10的Linux子系统搭建gcc/g++开发环境相关推荐

  1. 【Linux】Linux基本指令和工具操作大集合(vim、gcc/g++、gdb、make/makefile、git)

    [Linux]Linux基本指令和工具操作大集合(vim.gcc/g++.gdb.make/makefile.git) 文章目录 [Linux]Linux基本指令和工具操作大集合(vim.gcc/g+ ...

  2. 7.4【微信小程序全栈开发课程】小程序上线--基于Ubuntu搭建小程序运行环境

    上一节我们安装了nginx和SSL证书,这一节继续来搭建小程序运行环境 1.配置nodeJs环境 (1)安装node.npm 我们云服务器是Ubuntu系统,通过apt-get安装即可 //下载nod ...

  3. 模拟机安装linux教程,Windows 10利用虚拟机安装Linux图文教程

    Linux由于其众多独特的优势(可参见Linux系统的优势),而被很多人所喜爱.而要使用Linux那首先要做的工作就是安装Linux系统了.这里给出在 win10 下利用虚拟机 Hyper-v 安装 ...

  4. linux系统局域网传输,利用ssh在linux系统之间在局域网内传输文件

    利用ssh传输文件 在linux下一般用scp这个命令来通过ssh传输文件.而如果你的工作环境是windows的话,那么可以选择用 secure CRT,或者putty 这样的ssh登录工具来进行传输 ...

  5. Mac/Linux安装人脸识别常用库(tensorflow、pytorch、dlib、face_recognition、opencv、CMake、gcc/g++)————所有环境一次性配置好

    文章目录 0 背景与准备 1 tensorflow环境[数值计算的开源软件库] 2 pytorch环境[数值计算的开源软件库] 3 face_recognition[基于dlib的人脸识别库] 4 o ...

  6. 微信公众号开发接入,利用微信公众平台申请测试号进行本地开发

    一.前言 随着微信的普遍,年轻一代逐渐从QQ转到微信的使用.界面简洁,功能强大,男女老少皆宜是微信的特点,也正是靠着这一特点,从而使得微信在国内成为了社交软件的巨头.因此在微信端里就衍生了很多的产品需 ...

  7. 运行linux在de1soc,在DE1-SOC上运行Linux

    1,设定串口终端 安装驱动 :使用mini-USB线将计算机与DE1-SoC的UART转USB接口.drivers\USB2UART_driver文件夹内放置有驱动程序 设定串口终端规格 : 设定串口 ...

  8. 开发工具总结(7)之多年珍藏的Android开发必备网站和工具

    今天早上在简书上瞎逛,看到了这个,干货很多,这肯定是出自一个经验丰富的程序员之手,作为小小白,学习路上难免有需要帮助的和通过一些捷径来提高开发效率,所以收藏了这篇文章,同时也增加了一些自己平时收藏的内 ...

  9. 嵌入式linux开发环境搭建——VirtualBox虚拟机网络环境解析

    嵌入式linux开发环境搭建--VirtualBox虚拟机网络环境解析 本博文转自:Pandoras Box http://blog.csdn.net/yxc135/article/details/8 ...

  10. BigData:大数据开发的简介、核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS、HBase、Hive}+Docker)、经典场景应用之详细攻略

    BigData:大数据开发的简介.核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS.HBase.Hive}+Docker).经典场景应用之详细攻略 BigData:大数 ...

最新文章

  1. 学python需要学数据库吗-python支持哪些数据库
  2. ios编译与android编译区别是什么,为iOS和Android编译C ++代码(XCode)。 这是真的吗?...
  3. 20分钟教你手写Sping MVC
  4. Java黑皮书课后题第3章:*3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果
  5. oracle执行脚本顺序执行吗,【ORACLE】记录通过执行Oracle的执行计划查询SQL脚本中的效率问题 - 不及格的飞鱼...
  6. why my SAP CRM One Order custom callback is not called
  7. bxslider 纵向滑动 vertical image thumbnail slider
  8. 运算符--位移运算符和一些其他运算符
  9. php取mysql某列的值,php – 获取MYSQL中某些列为null的表中的值
  10. unity 3d换装之 SkinMeshRenderer
  11. Spring基础精华知识点
  12. html开发一个月多少钱,html5前端开发工资一般是多少
  13. ORACLE 8023学习总结
  14. AI 研究助力体育分析
  15. Hive基础之创建数据库
  16. 学习笔记 | c++中四种类型cast(强制)转换
  17. torch.nn.modules.activation.ReLU is not a Module subclass
  18. 红队免杀培训第一章-不可执行的shellcode
  19. 仓库管理系统软件哪个好
  20. 晶闸管静态参数测试系统

热门文章

  1. python培训班时间 费用-python培训班要多少钱?
  2. 如何彻底解决Variable used in lambda expression should be final or effectively final
  3. 小游戏制作-其他系列-数独
  4. 摄像头 SONY VISCA 协议
  5. 新安装Visio2013每次打开都提示正在配置,解决办法
  6. 计算机视觉简介:历史、现状和发展趋势
  7. McAfee设置信任文件
  8. 手机总是显示服务器太忙,手机总提示服务器太忙请稍后重试
  9. 数模算法与应用:预测模型(1)美日硫磺岛战役模型
  10. 素数的线性筛 欧拉函数