这是讲述从无到有建立自己写代码环境的过程。
A.小白角度初始操作系统
前言:我是个纯纯的计算机小白!那时候刚上大一,连操作系统都只听说过Windows,面对编程课和大学的教学方式,的确有一些让人始料未及。在面对专业课时,我当时害怕极了,什么是操作系统?什么是编译器?什么是IDE?老师上课用的术语让人麻木恐惧。。。
所以决定来写下这篇文章!(可能自己的认识不够深刻或者是不够全面甚至错误,请大家指出!!)
题外话---》编写代码的流程:①安装linux发行版(eg:ubuntu) ----②安装IDE(eg:vscode)----③IDE与linux连接----④在IDE中编写代码 over
操作系统
操作系统的外延边界很难定义,往深了说有很多概念。所以这里只会简单的解释奥。
我的理解:操作系统是一个中间者的角色,就好像插板
- 操作系统就是插板上的孔
- 之下是电源===硬件(cpu,硬盘,内存)
- 之上是各种充电器===软件(QQ,英雄联盟,word,Excel等等)
然后操作系统就将硬件与软件串联了起来,使得软件可以利用硬件资源工作。这个博主写的很详细,点击这里查看
操作系统的分类:
- Windows(应用很广泛)(window有良好的界面)
- Mac(苹果公司开发)
- Linux(免费的,类UNIX)(这个一般是黑漆漆的终端)
- Unix(一般在服务器上)
刚开始学习,大家的操作系统应该都是Windows,也有一部分是Mac,Mac不太熟悉、这里主要说Windows相关。在编程之前,首先在自己的电脑上安装linux操作系统。有三个方法:
- 双系统。也就是在自己的电脑中同时安装Windows和Linux。注意:自己装可能会损坏原装的Windows!!
- 虚拟机。 在Windows操作系统中安装VMware之类的虚拟机,然后在虚拟机中安装Linux。(就相当于将原来只有Windows孔的插板上增加了一个转接口,将Windows的孔转化成Linux的孔,使得符合Linux的充电器(软件)可以插上去)
- 使用WSL(Windows Subsystem for Linux)。 只需要在Windows中启用WSL就可以安装Linux了。(相当于在插板出厂时就有linux的孔,在需要用的时候打开就可以了,而不需要去买一个转换器(VMware),使得更加轻量)
为什么要用linux而不是Windows?---->老师给出的一个直接的理由是:大家编写的 C/C++代码都会大量使用数组/指针操作内存。Windows 下的编码工 具有可能无法发现非法内存操作。而在 Linux 下,内存消毒器是 gcc/g++编译器的标配。启动这个选项, 可以发现很多只有在运行时才会出现的内存使用错误,例如:memory leak、double free、use after free 等等。
什么是ubuntu?----->就是linux的发行版,是以linux为核心的,集成了各种各样的系统管理工具,应用工具软件而形成的完整的操作系统(还是举一个例子,linux就是水泥房子,要居住的话,就得装修一下,装修完后就是linux发行版了)
B.开始!!!使用WSL安装Ubuntu (三部完成!)
一、在Windows中开启WSL(2)
1.查看一下自己的Windows版本,因为ubuntu20有要求,最好Windows10是在2004以上,版本号尽量在20H2。(在设置中打开——>更新与安全——>操作系统内部版本信息——>可以看到了)
2.打开控制面板(这个简单不写了)
3.点击【程序】
4.点击【启用或关闭Windows功能】,勾选【适用于linux的Windows系统】【虚拟机平台】
5.Windows要重新启动
6.找到步骤四中的安装包安装wsl_update_x64(点击这里)
7.打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:
wsl --set-default-version 2
二、安装Linux发行--这里选择是ubuntu
1.打开Microsoft Store
2.搜索Ubuntu20.04LTS
3.点击【获取】,之后安装
4.安装之后会有一个让你输入用户名和密码的过程
注意:用户名选择全小写英文,输入密码两次验证正确。输入时,没有显示***,但是已经输入了的。
三、配置Ubuntu
1.双击桌面Ubuntu图标,打开终端界面。
2.替换更新源列表文件sources.list(这个是获得更新的来源,但是Ubuntu的源是在欧洲,所以在国内访问就会很慢,阿里或者一些高校就会把这个源给‘copy’下来,这样访问就快多了)
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://archive.canonical.com/ubuntu/ focal partner
具体操作:在任意盘中(比如E)新建一个文件——》将这个文件命名为source.list——》将代码放进去——》在Ubuntu终端中输入下面的命令
$cd /etc/apt #进入/etc/apt 目录
$sudo cp sources.list sources.list.bak
#将当前目录sources.list 文件备份到文件 sources.list.bak 中-----cp是复制的意思------sudo是获得root用户的权限
$sudo cp /mnt/e/sources.list .
#将 Windows的E盘根目录下的 sources.list文件复制到当前目录-----------.代表了当前目录。
提示:Ubuntu 和 Windows 文件系统的互操作。 Windows 系统下的磁盘全部都挂接到了 Ubuntu 系统的/mnt 目录下。例如,Windows 的 C:盘挂接在 Ubuntu 的/mnt/c 目录下,其它盘以此类推。进入这些目录后就可以看到原来在 Windows 下的所有文档了。
C.选择合适的IDE进行编码(比如vscode就是一个IDE)
现在就OK啦,之后选择一个合适的IDE,将IDE与ubuntu建立连接,(就是将IDE这个软件插在了linux的孔上),这样就是在linux的环境下写代码啦。之后就可以开心的编码了。。。。
什么是IDE呢?——》就是一种集成的开发环境。下面也许更朴素生动
要写一段代码并运行,目前就有两种方式。
1.在黑漆漆的ubuntu终端下运行代码。
(就像上面更新sources.list一样输入命令)
(当然,上面的配置ubuntu中没有安装编译器的过程(编译器就是将用c语言等写的代码翻译成机器能够读懂的语言二进制))
(我们把一段代码看成是一个灯泡,在ubuntu中写就像给你两根线火线和零线,让你自己去插孔里连,很麻烦是不是。)
2.下载一个IDE软件,这个IDE软件给你提供一个优美的的写代码的环境。
(举个例子:要去编译不用再输入很多命令,只需要在IDE中安装一个插件,然后点击【一键运行按钮】,就帮你把代码给翻译了并运行处结果)
(同样,我们把这段代码看做灯泡,在IDE中,就只用将这两根线变成了插头,就直接插到插孔里就好啦,极大的简化了工作量)
那么,至于IDE的下载和连接到ubuntu,在bilibili和csdn都能够搜索到大量的教程,就不写啦!