在Windows10通過WSL架設linux/gcc c語言學習環境
在Windows10通過WSL架設linux/gcc c語言學習環境
警告: 由于各種網絡代理軟件與wsl的沖突暫時沒有很好的解決方法,現在我不建議通過wsl學習linux/gcc c語言開發。現在更建議使用正經虛擬機安裝完整的linux系統。(2023年04月10日)
注意: 本文部分外鏈圖片現在可能無法顯示,且我暫時沒有時間重新截圖,故本文可能有一些步驟圖片缺失。
零:簡單介紹與先決條件
中國一般的大學C課程中都使用很過時的編譯器來進行教授——比如說什么visual studio 6.0啊,dev c++啊。以筆者的眼界所看到的C語言教程中,大多都建議學習者在Linux環境下學習C語言。在以往,如果沒有另外一臺電腦的話,想要使用GNU/Linux就得設置臃腫的虛擬機程序。對于初學者來說,虛擬機難以使用,還不如裝個新版本的visual studio算了。但是隨著WSL的出現,在Windows下獲得Linux環境變得前所未有的簡單。本教程簡單的介紹了如何安裝配置WSL并使用visual studio code與其進行交互。
想要安裝WSL,你的操作系統至少是Windows 10。這年頭還有人沒在用Windows 10嗎?別用Windows 7了,Windows 10很好用的。
但是如果你想要安裝WSL2,你得注意[1]:
對于 x64 系統:版本 1903 或更高版本,采用 內部版本 18362 或更高版本。
對于 ARM64 系統:版本 2004 或更高版本,采用 內部版本 19041 或更高版本。
低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。
本教程并不打算演示安裝WSL2。因為根據筆者的實驗,有許多虛擬機程序與WSL2不兼容——比如說網易mumu模擬器,安裝WSL2后運行的它會直接死機。如果你想安裝WSL2請按照注釋一的內容進行操作。
注釋一中還介紹了預覽版Windows 10 中的簡化安裝方法——反正我們現在用不到,我懶得說,自己看注釋一去罷。
我偷偷的說一句,其實我上面的說法有誤。并不是想要用WSL就非得用Windows 10。在Windows Server 2019(版本 1709)和更高版本上同樣可以安裝[2]。自個看注釋二去。
一:啟用適用于 Linux 的 Windows 子系統
我們得先改一下設置才能在Windows 上安裝整上Linux。
點擊開始菜單,

直接敲鍵盤進行搜索,輸入“Windows功能”這幾個字符,
點擊進入“啟用或關閉 Windows 功能”,

拉到下面,選中“適用于 Linux 的 Windows 子系統”,隨后點擊確認。

等待一段時間后,提示重啟。那當然是重啟它啦。
二:(艱難的)安裝Linux包
當一切順利(指網絡暢通)時,在Windows商店下載Linux發行版
打開你的 Windows 商店,搜索“Linux”,

因為我喜歡,所以我在這里演示安裝Ubuntu 20.04,

獲取,安裝,下載,沒什么好說的。
當諸事不宜時,手動下載安裝
下載
如果你無法在Windows商店下載,或者直接打不開Windows商店,或者甚至你的Windows 10里連Windows商店都沒有,那么你需要手動安裝[3]。
我在這里直接提供給你微軟包的下載鏈接。在下面我拿Ubuntu 20.04進行演示。
Ubuntu 20.04
Ubuntu 20.04 ARM
Ubuntu 18.04
Ubuntu 18.04 ARM
Ubuntu 16.04
Debian GNU/Linux
Kali Linux
OpenSUSE Leap 42
SUSE Linux Enterprise Server 12
Fedora Remix for WSL
可能會下得很慢。沒辦法,你網絡環境差怪誰嘛,慢慢等~。
通過 PowerShell 手動安裝
找到你下載那個包的文件夾,然后我們開PowerShell。
打開PowerShell的方法:點擊左上角的“文件”,然后你可以看到了。
注意:請確保你的文件管理器可以完整顯示文件名。
在PowerShell內輸入如下命令。
注意:記得把下面那個“app_name.appx”換成你的文件包的文件名。
Add-AppxPackage .\app_name.appx

現在打開開始菜單,可以看到我們已經安裝好了。

三:配置Ubuntu
設置用戶名與密碼
啟動Ubuntu后,會讓你等一會,如下圖:

等它配置好后,會讓你輸入用戶名:

隨后是輸入兩次密碼
注意:Linux命令行下輸入密碼 不會顯示任何符號。不要擔心你的鍵盤有沒有壞。

看到類似于這樣的界面,就說明你成功安裝好Ubuntu了:

改為國內軟件源并跟新
我這里使用阿里云的鏡像源。
現在我們要和對于某些人來說很恐怖的命令行搏斗一下下。在命令行中輸入:
sudo nano /etc/apt/sources.list
注意: 按ctrl + v 鍵進行粘貼是沒有用的,放棄吧。
sudo意思是以管理員身份運行,nano是文本編輯器軟件,后面那一串是我們要改的配置文件的路徑。
輸入密碼后你應該看到像這樣的界面:

注意: 如果不像那樣而是一片黑,說明你打錯命令了。按ctrl + x 鍵退出重來。
現在我們要把這個文件里所有不是以“#”號開頭的行都打上“#”號,像這樣。

通過鍵盤的方向鍵移動光標。有很多行的,慢慢來。
然后在文件最下面粘貼上阿里云鏡像源里的那一大堆東西。
注意: 以下內容僅作參考,以阿里云頁面為準。
deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
# deb https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
注意: 雖然按ctrl + v 鍵進行粘貼沒有用,但是這手打也太浪費時間了。點擊左上角的那個圖標,可以有粘貼的方法,如圖:
)
粘好了,按ctrl + o 保存。問你要不要保存,敲回車。然后按ctrl + x 退出nano。
設置好軟件源后,我們在終端輸入命令:
sudo apt update
再輸入:
sudo apt upgrade
問你是否安裝。輸入y后回車。

這樣就跟新好了。
然后我們輸入:
sudo apt install build-essential
按y回車后就安裝好gcc了。
在終端輸入:
gcc -v
看到如下輸出,證明安裝完畢。

四:安裝visual studio code并配置
在這里下載安裝Visual Studio Code,沒什么好說的。
建議把框中的全勾選上。其他全部保持默認即可。

安裝好了,現在Visual Studio Code應該是英文的。不要怕,在左邊那一欄最底下那個點進去,搜索“Chinese”,安裝中文包。

重啟Visual Studio Code,現在已經是中文了。
Visual Studio Code很智能,它檢測到了你安裝了WSL,問你要不要安裝相關插件。那肯定要啦。

安裝好后,我們連接進我們的WSL。

可能會有防火墻提示是否放行node,同意即可。

點擊左上角打開文件夾,默認就行,我懶得放圖了。
按快捷鍵 ctrl + `(這個鍵一般在esc鍵下面)呼出終端。好了,現在你可以新建c文件并使用gcc或者是make命令來編譯c文件了。
這里我們演示使用make。我創建了一個cs.c的c源文件,然后我們得寫一個Makefile。新建一個名為“Makefile”的文件,寫入:
CFLAGS=-Wall -g
并保存。
然后我們就可以通過
make [你的c文件名,不要輸入.c后綴]
編譯。
輸入:
./[你的文件名]
運行文件。

完事了。


)
浙公網安備 33010602011771號