- 一步步寫嵌入式操作系統
- 李無言著
- 1147字
- 2018-12-29 16:24:54
1.2.2 編輯器的選擇和使用
編譯器已經有了,我們需要使用什么工具來編寫操作系統代碼呢?
其實,只要自己覺得合適,無論是使用簡單的(諸如記事本之類的)工具還是復雜的(諸如進行程序開發的專用IDE),都不會有問題,每個人心中應該都有自己最理想的編輯工具。在程序的開發過程中,我們只需要打開一款編輯器,將程序源代碼敲進去,然后將這些內容保存成源文件,那么剩下的工作就是使用編譯器對這些代碼進行編譯。
接下來,讓我們通過Windows下的“記事本”這一工具來演示一下在Cygwin環境中編寫代碼的一般方法,其他代碼編輯器的使用與該方法類似。
首先請打開文本編輯器,向里面輸入一個空的main函數,如圖1-11所示。

圖1-11 使用編輯器編寫代碼
接下來我們嘗試對這段代碼進行編譯。將這些內容保存成文件,取名為“test.c”。在Cygwin的安裝目錄下,有一個“home”文件夾,進入這個文件夾,可以看到以用戶名命名的一個文件夾,該文件夾代表Cygwin用戶的家目錄。所有個人私有的文件和數據存放到這個目錄中是比較合適的。
例如,某個人將Cygwin安裝到了C盤根目錄,同時他又是以Administrator用戶登錄的話,那么這個文件夾就應該是C:\Cygwin\home\Administrator。
保存完成后,運行Cygwin,并在彈出的命令行中輸入“ls”這條命令,可以看到test.c文件出現在該目錄下,如圖1-12所示。

圖1-12 在Cygwin命令行運行“ls”命令
緊接著就在這個命令行下,運行編譯工具,將“test.c”文件編譯成可執行程序,命令如下。
命令1-6
arm-elf-gcc -nostdlib test.c
最終在該目錄下,會出現一個名為“a.out”的文件,這個文件正是由GCC編譯test.c文件后生成的。這就表示我們已經使用編輯器編寫了代碼,并用編譯器成功編譯了第一個程序。
對GCC比較熟悉的讀者可能會覺得命令1-6這種編譯方法比較奇怪。如果您使用的是我們提供的專用編譯器,那么“-nostdlib”參數是必需的。它表示編譯時不去鏈接標準函數庫。相關參數的具體含義,我們會在接下來的章節中詳細闡述。
如果是Linux用戶,那么程序的編寫和編譯過程會更簡單些。因為在Linux下,存在有一些基于命令行的文本編輯器,如vi。使用這樣的一些編輯器,程序的編寫、代碼的保存和編譯等過程都可以在命令行下實現,這樣,開發效率會較高。
如果一些Linux初學者覺得vi較難掌握,也可以嘗試使用nano。nano也是一個在命令行下就能運行的文本編輯器,它的用法像Windows下的“記事本”一樣簡單,圖1-13是一個在Linux下運行nano的頁面。

圖1-13 nano運行頁面
在確保系統中安裝了nano工具的前提下,想要使用nano,只需要首先通過cd命令切換到某一路徑下,然后運行下面的命令。
命令1-7
nano test.c
這樣就可以打開一個test.c文件,并進入文本編輯的頁面中了。在寫入適當的內容之后,按下“Ctrl+O”組合鍵可以保存文件,按下“Ctrl+X”組合鍵可以退出頁面。
如果有些朋友還是覺得使用圖形化的工具更加方便,那么,在Linux下,也有很多圖形化的文本編輯器可供選擇,如gedit、gvim、mousepad,等等。這些工具的使用方法與Windows下的編輯工具完全一致。最終我們還是要通過命令行來編譯源程序。
- Mastering Spark for Data Science
- PostgreSQL 11 Server Side Programming Quick Start Guide
- 腦動力:C語言函數速查效率手冊
- VB語言程序設計
- Mastering Machine Learning Algorithms
- 人工智能與人工生命
- MCGS嵌入版組態軟件應用教程
- Spatial Analytics with ArcGIS
- 電氣控制與PLC原理及應用(歐姆龍機型)
- Photoshop CS4數碼攝影處理50例
- 玩機器人 學單片機
- 網頁設計與制作
- 新世紀Photoshop CS6中文版應用教程
- Hands-On Artificial Intelligence for Beginners
- 單片機C語言編程實踐