天天看點

《C語言程式設計魔法書:基于C11标準》——3.2 macOS系統下搭建C語言程式設計環境

本節書摘來自華章計算機《c語言程式設計魔法書:基于c11标準》一書中的第3章,第3.2節,作者 陳轶,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

下載下傳完xcode之後,把它打開。如果是第一次啟動,xcode會自動更新一些資源,完了之後彈出主界面,如圖3-25所示。

我們選擇第二個選項,點選它即可建立應用程式工程。第一個選項僅用于操練把玩swift程式設計語言,而第二個選項用于建立真正的應用或庫。當然,有些應用可直接送出到app store稽核,有些則不行。

點選“create a new xcode project”之後,出現圖3-26所示的對話框。在圖3-26中,我們看到在上面一欄中所選的項目工程為macos的應用。然後在下邊,我們選擇“command line tool”,即指令行工具。最左邊的cocoa application用于建立macos系統上基于gui以及沙盒機制的應用,它可以上傳到mac app store。中間的“game”專門用于遊戲應用,也可上傳到mac app store。而最右邊的“command line tool”建構出來的應用則無法上傳到mac app store,但是它能通路macos的整個檔案系統,并且沒有采用沙盒機制。另外,開發者用command line tool開發出來的應用也可以直接放到網上供其他人下載下傳使用。

《C語言程式設計魔法書:基于C11标準》——3.2 macOS系統下搭建C語言程式設計環境
《C語言程式設計魔法書:基于C11标準》——3.2 macOS系統下搭建C語言程式設計環境

我們點選“next”按鈕之後出現如圖3-27所示的對話框。在第1行用英文輸入自己的産品名稱,這個後面将用于自動生成的工程名稱。然後第2行填寫組織名。第3行填寫組織辨別,格式為com.<公司名>.<産品名>。當然,第2、第3行對于我們的demo而言可以随意填寫。第5行我們要選擇c,表示使用c語言。

《C語言程式設計魔法書:基于C11标準》——3.2 macOS系統下搭建C語言程式設計環境

點選“next”按鈕可看到圖3-28所示的目錄選擇對話框。

《C語言程式設計魔法書:基于C11标準》——3.2 macOS系統下搭建C語言程式設計環境

這裡選擇将新建立的項目工程放到哪個目錄下。另外,這裡要注意的是,我們不要勾選“create git repository”這一選項。因為它會在工程本地做git版本管理,對于我們一般應用而言沒有任何必要,而且這會随着工程建構的次數增多而增大,很占磁盤空間。而且如果要将本地工程拷貝到其他環境,也會帶來許多不便。我們最後點選“create”按鈕之後,工程就會被建立好。

工程被建立完之後,xcode預設會打開,包括會自動建立一個main.c的c語言源檔案。此時,我們不用着急編輯、運作,可以先設定一下編譯選項。

我們首先點選藍色的“cdemo”項目工程圖示,然後點選中間一欄“targets”下的“cdemo”控制台圖示,最後在右邊欄的最上方選中“build settings”,然後在下面選中“all”和“combined”。随後,我們找到“apple llvm x.x-language”這一欄,将“c language dialect”選為gnu11,這個選項将貫穿本書内容。到此,我們的c語言編譯選項就設定好了,如圖3-29所示。

《C語言程式設計魔法書:基于C11标準》——3.2 macOS系統下搭建C語言程式設計環境

如果我們想對最終生成的代碼再做一些優化,可以設定圖3-30中的一些選項。

《C語言程式設計魔法書:基于C11标準》——3.2 macOS系統下搭建C語言程式設計環境

我們将c++的異常以及運作時類型(rtti)全都關閉,另外也将objective-c的異常關閉。這樣,最終的應用程式中将不會包含異常棧,同時,編譯器後端優化也能更省力不少。大家可以觀察到,将這幾個選項關閉後,最終生成的可執行檔案會比開啟時要小一些。

最後,我們可以設定一下xcode自身的偏好設定,将行号顯示出來,如圖3-31所示。

《C語言程式設計魔法書:基于C11标準》——3.2 macOS系統下搭建C語言程式設計環境

我們在菜單欄上,選擇“xcode”,然後點選“pre-ferences...”,彈出圖3-32所示的對話框。我們把“line numbers”勾選上即可在文本編輯框中看到行号。另外,xcode預設字元編碼已經是utf-8了,是以不需要我們做額外的設定。

《C語言程式設計魔法書:基于C11标準》——3.2 macOS系統下搭建C語言程式設計環境

由于xcode預設字型可能會顯得比較小,是以如果想設定字型以及背景顔色的話可以選擇“fonts & colors”選項。

在進入到此對話框後,我們點選左側欄下邊的“+”号,添加一個新的字型,并且選擇“duplicate‘default’”,如圖3-33所示。這使得我們所新增的字型以預設字型和顔色作為基準,然後對它做大小修改。

《C語言程式設計魔法書:基于C11标準》——3.2 macOS系統下搭建C語言程式設計環境

如圖3-34所示,我們這裡新增了一個叫“defualt_big”的字型,然後在中間這欄,我們先選中“plain text”,然後将滾動條滾動到最下方,按住shift鍵再選中最後一條“other preprocessor macros”,這樣可以将所有種類的文字格式全都選中,随後我們點選“t”字樣的按鈕來調整這些文字格式的字型大小。這裡,原先的字型大小為“menlo regular-11.0”,設定之後這裡變為“menlo regular-14.0”。

《C語言程式設計魔法書:基于C11标準》——3.2 macOS系統下搭建C語言程式設計環境

現在,我們就可以直接運作xcode自動幫我們生成好的main.c中的c源代碼了。我們直接點選右上角的三角箭頭按鈕即可編譯并運作這段代碼,如圖3-35所示。

《C語言程式設計魔法書:基于C11标準》——3.2 macOS系統下搭建C語言程式設計環境

我們在下面的調試控制台中能看到圖3-35這兩行文字。其中,最後一句是應用退出後系統自動列印的。我們可以看到,macos下能非常輕松地直接輸出中文,而不需要各種複雜的編碼轉換。

《C語言程式設計魔法書:基于C11标準》——3.2 macOS系統下搭建C語言程式設計環境

繼續閱讀