Windows10下寫C語言確實會遇到不少的問題,不像在macOS/Linux/Unix環(huán)境下那么舒服,Visualstudio功能強(qiáng)大可是對ANSIC支持并不好,而Vim/Emacs搭配Windows那個黑乎乎的Cmd體驗真的是難以言表,因此在Windows10下我還是強(qiáng)烈推薦使用集成開發(fā)環(huán)境。
推薦三款C語言IDE環(huán)境
Windows其實是推薦使用IDE集成開發(fā)環(huán)境進(jìn)行開發(fā)的,而不是像Linux/macOS推薦使用命令行開發(fā),因此這里給大家推薦幾個繼承開發(fā)環(huán)境。
CLion
這是目前最好的第三方C/C++集成開發(fā)環(huán)境,一定要說的話只有Windows上的visualstudio和macOS上的Xcode的綜合體驗比CLion更好。
這款集成開發(fā)環(huán)境最大的優(yōu)勢是跨平臺,這是捷克布拉格的神話、大名鼎鼎的JetBrains公司的大作,這個公司除了Clion還有大名鼎鼎的IntelliJIDEA,WebStorm,PHPStorm、PyCharm、AppCode等眾多經(jīng)典的集成開發(fā)環(huán)境。
新加坡總理的最愛DevC++
新加坡總理李顯龍畢業(yè)于英國劍橋大學(xué)數(shù)學(xué)系,他也是一個喜歡寫代碼的政客,而且畢業(yè)之后都還寫過一些代碼,其中他就是用DevC++寫的數(shù)獨程序。
DevC++是Windows平臺下一款免費的集成開發(fā)環(huán)境,是一款非常難輕量級的集成開發(fā)環(huán)境,而且能夠同時編寫C和C++程序。
ACM推薦開發(fā)工具CodeBlocks
CodeBlocks是我學(xué)生時代用得比較多的一款集成開發(fā)環(huán)境,這款工具是ACM官方推薦使用的集成開發(fā)環(huán)境,因此大學(xué)做ACM訓(xùn)練的時候,也經(jīng)常用CodeBlocks寫過很多算法小程序。
CodeBlocks是一款跨平臺的集成開發(fā)環(huán)境,在Linux/macOS/Windows都有版本發(fā)布,同時這也是一款開源免費的集成開發(fā)環(huán)境,基本上能夠應(yīng)對日常的學(xué)習(xí)需求,用這個編輯器你可以獲得很多的編譯器支持,而且也能夠獲得非常好的編寫體驗。
VisualStudioCode也是非常好的C語言編輯器
我不推薦使用文本編輯器的原因主要還是入門門檻比較高,尤其是Emacs/Vim使用門檻相當(dāng)高,而這些文本編譯器又不像IDE一樣集成了編譯器、調(diào)試器等眾多的工具,你得自己搭建編譯調(diào)試環(huán)境。
第一步:下載VSCode并安裝C/C++開發(fā)插件
下載安裝visualstudiocode之后,直接在插件工具一欄搜索并且安裝C/C++開發(fā)工具就好,這一步非常簡單。
第二步:安裝Windows下GCC環(huán)境
大家也都知道Unix/Linux/macOS環(huán)境下主要的編譯器是GCC環(huán)境,不過Windows下你可以安裝visualstudio來獲得C/C++開發(fā)環(huán)境,不過不是ANSIC開發(fā)環(huán)境,windows下有專門的cl編譯器用來替代。
不過這不方便,我建議的大家安裝GCC替代解決方案,這套方案在Windows下叫做MinGW,這款工具包括了GCC/G++兩套完整的開發(fā)環(huán)境。
第三步:如何編寫并且編譯C語言程序
由于我身邊沒有Windows電腦,沒辦法百分之百模擬Windows下的環(huán)境,我只能用macOS模擬用VSCode在Windows下編寫C語言的過程。
在visualstudiocode寫下一個C語言程序,并且將文件命名為
HelloWorld.c
文件,創(chuàng)建以后保存到特定的工程文件,注意寫程序一定要習(xí)慣用英文命名。程序文件寫好之后就去命令行編譯運行當(dāng)前C語言程序,不過你要先進(jìn)入你需要進(jìn)入的文件夾,記住一些常用的命令,“pwd”是顯示當(dāng)前所在文件目錄,“cd”是進(jìn)入當(dāng)前文件下一層目錄,“cd..”是進(jìn)入返回上一層目錄,“l(fā)s”是顯示當(dāng)前文件夾下的所有文件,你必須先進(jìn)入你程序的目錄然后編譯并且運行當(dāng)前程序,命令是“gcc
HelloWorld.c
-oHelloWorld”,當(dāng)然編譯過程中遇到問題要學(xué)會根據(jù)報錯進(jìn)行調(diào)試,尤其是復(fù)雜的程序肯定不可能一步到位,編譯完成之后直接用“./HelloWorld”直接運行,到這一步一個C語言程序完整的編譯運行過程就完成了。本文為字節(jié)跳動簽約作者EmacserVimer悟空問答原創(chuàng)專稿,未經(jīng)允許轉(zhuǎn)載、抄襲必究!