linux 开发c工具箱,利用Windows10的Linux子系统搭建gcc/g++开发环境
一. 需要的工具
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++开发环境相关推荐
- 【Linux】Linux基本指令和工具操作大集合(vim、gcc/g++、gdb、make/makefile、git)
[Linux]Linux基本指令和工具操作大集合(vim.gcc/g++.gdb.make/makefile.git) 文章目录 [Linux]Linux基本指令和工具操作大集合(vim.gcc/g+ ...
- 7.4【微信小程序全栈开发课程】小程序上线--基于Ubuntu搭建小程序运行环境
上一节我们安装了nginx和SSL证书,这一节继续来搭建小程序运行环境 1.配置nodeJs环境 (1)安装node.npm 我们云服务器是Ubuntu系统,通过apt-get安装即可 //下载nod ...
- 模拟机安装linux教程,Windows 10利用虚拟机安装Linux图文教程
Linux由于其众多独特的优势(可参见Linux系统的优势),而被很多人所喜爱.而要使用Linux那首先要做的工作就是安装Linux系统了.这里给出在 win10 下利用虚拟机 Hyper-v 安装 ...
- linux系统局域网传输,利用ssh在linux系统之间在局域网内传输文件
利用ssh传输文件 在linux下一般用scp这个命令来通过ssh传输文件.而如果你的工作环境是windows的话,那么可以选择用 secure CRT,或者putty 这样的ssh登录工具来进行传输 ...
- Mac/Linux安装人脸识别常用库(tensorflow、pytorch、dlib、face_recognition、opencv、CMake、gcc/g++)————所有环境一次性配置好
文章目录 0 背景与准备 1 tensorflow环境[数值计算的开源软件库] 2 pytorch环境[数值计算的开源软件库] 3 face_recognition[基于dlib的人脸识别库] 4 o ...
- 微信公众号开发接入,利用微信公众平台申请测试号进行本地开发
一.前言 随着微信的普遍,年轻一代逐渐从QQ转到微信的使用.界面简洁,功能强大,男女老少皆宜是微信的特点,也正是靠着这一特点,从而使得微信在国内成为了社交软件的巨头.因此在微信端里就衍生了很多的产品需 ...
- 运行linux在de1soc,在DE1-SOC上运行Linux
1,设定串口终端 安装驱动 :使用mini-USB线将计算机与DE1-SoC的UART转USB接口.drivers\USB2UART_driver文件夹内放置有驱动程序 设定串口终端规格 : 设定串口 ...
- 开发工具总结(7)之多年珍藏的Android开发必备网站和工具
今天早上在简书上瞎逛,看到了这个,干货很多,这肯定是出自一个经验丰富的程序员之手,作为小小白,学习路上难免有需要帮助的和通过一些捷径来提高开发效率,所以收藏了这篇文章,同时也增加了一些自己平时收藏的内 ...
- 嵌入式linux开发环境搭建——VirtualBox虚拟机网络环境解析
嵌入式linux开发环境搭建--VirtualBox虚拟机网络环境解析 本博文转自:Pandoras Box http://blog.csdn.net/yxc135/article/details/8 ...
- BigData:大数据开发的简介、核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS、HBase、Hive}+Docker)、经典场景应用之详细攻略
BigData:大数据开发的简介.核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS.HBase.Hive}+Docker).经典场景应用之详细攻略 BigData:大数 ...
最新文章
- 学python需要学数据库吗-python支持哪些数据库
- ios编译与android编译区别是什么,为iOS和Android编译C ++代码(XCode)。 这是真的吗?...
- 20分钟教你手写Sping MVC
- Java黑皮书课后题第3章:*3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果
- oracle执行脚本顺序执行吗,【ORACLE】记录通过执行Oracle的执行计划查询SQL脚本中的效率问题 - 不及格的飞鱼...
- why my SAP CRM One Order custom callback is not called
- bxslider 纵向滑动 vertical image thumbnail slider
- 运算符--位移运算符和一些其他运算符
- php取mysql某列的值,php – 获取MYSQL中某些列为null的表中的值
- unity 3d换装之 SkinMeshRenderer
- Spring基础精华知识点
- html开发一个月多少钱,html5前端开发工资一般是多少
- ORACLE 8023学习总结
- AI 研究助力体育分析
- Hive基础之创建数据库
- 学习笔记 | c++中四种类型cast(强制)转换
- torch.nn.modules.activation.ReLU is not a Module subclass
- 红队免杀培训第一章-不可执行的shellcode
- 仓库管理系统软件哪个好
- 晶闸管静态参数测试系统