- 高效微控制器C語言編程
- (美)馬克·盧瓦
- 4067字
- 2025-06-05 13:36:24
1.2.1 所需工具
如今,人們使用計算機完成大量任務。游戲和流媒體視頻等娛樂任務占用的CPU周期與業務工作甚至應用程序開發占用的CPU周期一樣多。由于計算機既用于消費,也用于生產,因此很少有系統配備應用程序開發所需的工具。令人欣慰的是,這些工具都是免費提供的,但你必須自己去獲取它們,然后將它們設置為在你的系統上運行。
正如我之前指出的,本書的重點是編寫簡潔、高效的C代碼。在我們的示例中,我注意避免過于巧妙的模式。我還努力確保示例不依賴于特定的編譯器或特定的開發平臺。為此,我將使用軟件開發所需的最低配置:一個好的編輯器和一個好的編譯器[1]。
如果你喜歡在網上搜索軟件,并希望直接參與其中,我們將安裝微軟的Visual Studio Code(通常簡稱為“VS Code”)作為我們的編輯器,并安裝GNU基金會的GNU開發者工具來處理編譯工作。后面還有更多鏈接和詳細信息,但如果你自己安裝了這些工具,或者你已經有自己喜歡的編輯器和編譯器,請隨時跳轉到1.2.2節閱讀。
Windows
微軟Windows在臺式機市場上占有很大份額。如果你只為一個系統編寫程序,Windows會讓你得到最大的實惠。但這也意味著,在幫助你編寫程序的軟件方面,競爭會更加激烈。Windows的商業開發者應用程序比其他任何平臺都要多。幸運的是,其中許多應用程序都有免費或“社區”版本,足以滿足我們的需求(當我們在本書的第二部分重點討論Arduino時,我們將了解一些包括編譯器在內的Arduino專用工具)。
談到Windows和軟件開發,就不能不提到微軟的Visual Studio IDE(集成開發環境)。如果你想為Windows本身構建應用程序,Visual Studio是你的不二之選。這兩個版本甚至還為學生和個人開發者提供了社區版。雖然我不會在本書的示例中討論這兩個版本,但Visual Studio對于Windows用戶來說是一個很好的集成開發環境,可以輕松處理我們的代碼(不過,我將在三大平臺上使用一個名為Visual Studio Code的近親作為我們的編輯器)。
另一個流行的商用集成開發環境是Jetbrains公司的CLion。CLion也是跨平臺的,因此你可以輕松地在不同的操作系統之間移動,而且仍然感覺高效。如果你有使用Jetbrains公司其他優質應用程序的經驗,CLion將是你開始編寫和調試C代碼的熟悉方法。
還有許多其他文本編輯器,它們各有利弊。你甚至可以使用內置的記事本程序等工具,不過專門針對編程的編輯器會有一些方便的功能,能讓你更輕松地閱讀和調試代碼。
Windows上的GNU工具。在Windows上,安裝GNU的GCC工具可能有點煩瑣。沒有快速、友好的安裝程序[2]。你可以找到各種二進制包,它們提供了我們所需的大部分功能,但你仍需注意下載GNU編譯器子包,然后配置Windows環境。
我們將安裝Cygwin環境,以獲得Windows版本的GCC。Cygwin是一個強大的工具和實用程序集合,為Windows用戶提供了一個不錯的Unix shell環境。不過,“不錯”這個詞很主觀,如果你不了解Unix或其衍生工具(如Linux或現代macOS),你可能用不到這套工具中的其他工具。
獲取Cygwin安裝可執行文件。下載完成后,啟動它。你可能需要“允許這個來自未知發布者的應用程序對你的設備進行更改”。你可以嘗試“從互聯網安裝”選項,但如果有任何問題,請返回并使用“下載而不安裝”選項。你仍然需要按照軟件包選擇步驟進行操作,但下載完成后,你可以第二次運行安裝程序,選擇“從本地目錄安裝”選項,并使用下載所有軟件包的文件夾。
對于安裝程序提出的任何問題,請接受默認值。進入鏡像站點選擇頁面后,如果能找到你認識的大學或企業,請使用離你最近的鏡像站點。否則,任何鏡像站點都可以,但如果在下載過程中遇到任何問題,也可以回來選擇不同的鏡像站點。
在“Select Package”(選擇軟件包)屏幕上,由于默認情況下不包含gcc,所以需要額外選擇。將“視圖”下拉菜單切換到“完整”,然后輸入“gcc”作為搜索詞。你需要圖1-1中突出顯示的“gcc-core”軟件包。任何可用版本都能滿足我們的需要。在撰寫本書時,我們選擇了最新的gcc-core版本,即10.2.0-1。

圖1-1:選擇Cygwin GCC軟件包
在“審核”頁面上確認你的選擇,然后開始下載。下載和安裝可能需要一點時間,但你最終會看到“完成”頁面。如果你想使用類似Unix的命令提示符,可以添加桌面圖標,但我們的工作并不需要它。不過,在微軟的命令提示符中添加Cygwin工具還需要額外的步驟。
你可以上網搜索關于創建和編輯Windows環境變量的指南,但這里有一些基礎知識(如果你以前做過這類工作,可以跳過Cygwin文件夾的選擇,直接將其放入路徑中)。
從“開始”菜單中搜索“env”,很快就能在頂部看到“編輯系統環境變量”(Edit the system environment variables)的選項,如圖1-2所示。

圖1-2:在Windows中查找環境變量編輯器
打開“系統屬性”(System Properties)對話框,單擊右下角的“環境變量...”(Environment Variables...)按鈕,如圖1-3所示。

圖1-3:Windows中的“系統屬性”對話框
你可以只設置自己的路徑,也可以將其設置為整個系統的路徑。選中要更新的PATH條目,然后單擊“編輯”(Edit)。接下來,在“編輯環境變量”對話框中單擊“新建”(New)按鈕,然后單擊“瀏覽”(Browse...)按鈕導航到Cygwin bin文件夾,如圖1-4所示(如果你還記得為Cygwin安裝程序選擇的放置所有內容的根文件夾,當然也可以直接鍵入)。

圖1-4:在路徑環境變量中添加Cygwin bin文件夾
單擊“確定”(OK)按鈕關閉每個對話框,然后就設置好了。
關于編輯器,你可以在Visual Studio網站上找到VS Code。根據你的系統,你很可能需要64位或32位用戶安裝版本[3]。
使用圖1-5所示的擴展視圖抓取C/C++擴展。你可以搜索簡單的字母“c”,也可以在“熱門”(Popular)列表中立即看到該擴展。單擊該擴展的綠色安裝按鈕。
讓我們測試一下這些Cygwin工具中的GCC工具(可能需要重啟Visual Studio Code才能識別Cygwin工具)。從“視圖”(View)菜單中選擇“終端”(Terminal)選項。終端選項卡應在底部打開。你可能需要按Enter鍵來獲得提示。在提示符下運行gcc--version。希望你能看到與圖1-6類似的輸出。

圖1-5:VS Code中的C擴展

圖1-6:在終端選項卡中測試GCC
你應該能看到與你安裝Cygwin時所選軟件包相匹配的版本號。如果你看到了,那就太好了!跳轉到1.2.2節,開始編寫你的第一個C語言程序。如果看不到任何輸出或出現“未識別”錯誤,請查看設置Windows環境變量的步驟。一如既往,上網搜索你所看到的特定錯誤,可以幫助你解決大多數安裝和設置問題。
macOS
如果你主要使用圖形應用程序和工具,那么你可能并不了解macOS的Unix基礎。雖然你可以對這些基礎一無所知,但了解一些命令提示符導航世界的知識還是很有用的。我們將使用終端應用程序下載并安裝GCC,但與Windows一樣,值得注意的是,蘋果的官方開發工具Xcode也可用于編寫和編譯C代碼。幸運的是,我們并不需要Xcode的全部功能就能開始使用C語言,因此我們將只使用最基本的功能。
終端應用程序位于“應用程序”(Application)→“實用工具”(Utilities)文件夾中。啟動它。你應該會看到類似圖1-7的內容。

圖1-7:基本的macOS終端窗口
如果你已經擁有主要的蘋果編程應用程序Xcode,你可以快速檢查GCC是否也可用。嘗試運行gcc-v:

確切的版本并不重要,我們只想確保GCC確實可用。如果沒有,你需要安裝xcode-select命令行工具,該工具會將GCC一并安裝。輸入xcode-select--install并按提示操作。對話框會詢問你是否要安裝命令行工具。回答“是”后,你就可以安裝了。
安裝完成后,繼續運行gcc-v命令,以確保你擁有編譯器。如果沒有得到很好的回復,你可能需要訪問蘋果的開發者支持網站,在其中搜索“命令行工具”。
在macOS上安裝VS Code要簡單得多。訪問Visual Studio網站上相同的VS Code下載頁面。選擇macOS下載。你的標準下載文件夾中應該會收到一個ZIP文件。雙擊該文件解壓縮,然后將生成的Visual Studio Code.app文件拖動到“應用程序”文件夾。如果系統提示你輸入密碼才能將應用程序移至“應用程序”文件夾,請立即輸入密碼。
重新定位后,繼續打開VS Code。我們要添加C/C++擴展,然后檢查能否從終端選項卡訪問GCC。
在VS Code中單擊圖1-8所示的“一堆小框”圖標,調出擴展面板。你可以搜索簡單的字母“C”,很可能在搜索結果的頂部找到正確的擴展。

圖1-8:VS Code的擴展
要試用“終端”選項卡,請從“視圖”→“終端”菜單項打開它。你應該會在編輯器的底部看到一個新區域。繼續嘗試在新區域運行GCC檢查命令(gcc-v)。你應該會看到與圖1-9類似的結果。

圖1-9:在macOS的VS Code中試用GCC
同樣,如果運行gcc命令沒有得到預期結果,請查看蘋果公司的開發者網站。你還可以在網上找到一些視頻教程,它們可能會對你的特定設置有所幫助。
Linux
許多Linux系統都是為修補者設計的。你可能已經有了GCC。你可以啟動終端應用程序,運行與其他操作系統相同的檢查程序,進行快速檢查。如果gcc-v返回的答案不是“Command not found”(找不到命令),那么你就可以下載VS Code了。如果需要安裝GCC,可以使用平臺上的軟件包管理器。你可能會有一個漂亮的圖形應用程序來處理這類事情:查找“開發者工具”或“軟件開發”,然后閱讀說明,看看是否包含GCC或GNU實用程序。
對于Debian/Ubuntu系統,你可以抓取build-essential元軟件包,其中包含GCC以及許多其他有用(或必需)的庫和工具:

對于Redhat/Fedora/CentOS系統,可以使用Dandified Yum(dnf)工具。在本書中,我們只需要使用GCC:

不過,如果你對軟件開發感興趣,你可能需要“開發工具”組軟件包,其中包括GCC和許多其他有趣的東西:

Manjaro是另一款基于Arch Linux的流行Linux發行版。你可以在這里使用pacman工具:

如果你的Linux系統不使用apt、dnf或pacman,你可以輕松搜索“install gcc mylinux”,或使用系統軟件包管理器的搜索選項查找“gcc”或“gnu”。
作為Linux用戶,你可能已經有了一些使用文本編輯器編寫shell腳本或其他語言的經驗。如果你對編輯器和終端已經駕輕就熟,則可以跳過。但如果你是編碼新手或者你沒有喜歡的編輯器,則可以安裝VS Code。訪問Visual Studio網站上與其他操作系統相同的VS Code下載頁面。獲取相應系統的捆綁包(如果你的Linux系統不使用.deb或.rpm文件,你可以獲取.tar.gz版本)。
雙擊下載的文件,系統會提示你進行標準安裝。如果要為所有用戶安裝VS Code,則可能會要求你輸入管理密碼。不同的發行版會將VS Code放在不同的位置,不同的桌面有不同的應用程序啟動器。你也可以使用code命令從命令行啟動VS Code。
與其他操作系統一樣,我們要添加C/C++擴展,然后檢查是否可以從終端選項卡訪問GCC。
單擊圖1-10所示的“一堆小框”圖標,調出VS代碼中的擴展面板。你可以搜索簡單的字母“C”,很可能會在搜索結果的頂部找到正確的擴展。

圖1-10:Linux上的VS Code擴展
要試用“終端”選項卡,請從“視圖”→“終端”菜單項打開它。你會在編輯器底部看到一個新的區域。繼續嘗試在該新區域運行GCC檢查命令(gcc-v)。你應該會看到與圖1-11類似的結果(冗長且略顯混亂)。
希望你已經建立并運行了一個簡單的C語言開發環境。讓我們開始編寫代碼吧!
- PyQt從入門到精通
- 微服務設計原理與架構
- Processing互動編程藝術
- Python 3網絡爬蟲實戰
- Mastering macOS Programming
- Scala for Machine Learning(Second Edition)
- Spring Boot+Vue全棧開發實戰
- Unity&VR游戲美術設計實戰
- Illustrator CC平面設計實戰從入門到精通(視頻自學全彩版)
- C指針原理揭秘:基于底層實現機制
- Angular Design Patterns
- 深入理解Kafka:核心設計與實踐原理
- VMware vSphere Design Essentials
- Linux Networking Cookbook
- Appcelerator Titanium Smartphone App Development Cookbook