愛薩尼亞文翻譯這是 Xcode 的專案視窗基本設置裝備擺設。
編譯的快速鍵是 Command + B ,直接按這個會比移動滑鼠游標還方便翻譯
編譯原始碼
「編譯與履行」這件事對於用慣 Visual C++ 的人應當不生疏,所以這裡也沒甚麼好說的。切換到 Build 分頁,在右上角的搜索框輸入 ansi 這四個字,你就會看到它像 Spotlight 一樣幫你找到這個選項: GCC 4.0 – Language / C Language Dialect 翻譯把它改成 ANSI C [-ansi] 就好了。當游標後面泛起反白的淡字,按下 Tab 會立刻套用今朝顯示的主動完成,按下 Esc 可讓你看到其他的可用主動完成。現在再按 Build,你應當知道哪裡有錯了。Xcode 在呈現編譯毛病或正告的時候,會主動在編纂區出現毛病,像如許:安裝完成後,可以在「硬碟 → Developer → Applications」這個資料夾裡面找到 Xcode ,按兩下開啟。以下以一個簡單的小程式做典範:
這篇是給新手看的翻譯 轉錄自http://blog.yorkxin.org/2009/03/15/fundamental-c-with-xcode/
主動完成
Xcode 的編纂用具備自動完成的功能翻譯其實不消我介紹翻譯公司應當就會了,因為你在打字的時候就會發現翻譯變數名稱可以、#define token 可以、函式 prototype 可以、struct 元素也能夠,乃至你在 #include 的時候也能夠讓你看到有哪些 Library 翻譯公司可以用的。上方工具列由左至右分別是:
- Overview:編譯選項,可以選摘要在 Debug 模式或 Release 模式,和方針功課系統 (10.4 或 10.5)
- Action:一些針對專案快速呼喚的指令
- Build:編譯
- Build and Go:編譯並履行
- Run:執行今朝已編譯的程式(若是之前沒編譯的話就不克不及按)
- Debug:進入除錯模式
- Tasks:停止今朝履行的程式。若是啟動多個程式,就有一個小三角形讓你選要停哪一隻
- Info:取得簡介 (仿佛是廢話…)
列印?
03 |
/* global variables */ |
04 |
int i_am_a_global_variable; |
08 |
void another_function (int* a) |
11 |
i_am_a_global_variable = (*a)++; |
15 |
int some_function (int a) |
17 |
int some_local_var = a; |
18 |
printf("some_local_var has been changed to %d
", |
20 |
another_function(&some_local_var); |
21 |
printf("some_local_var has been changed to %d
", |
30 |
printf ("enter number:"); |
31 |
scanf("%d"翻譯社 &number); |
33 |
some_function(number); |
34 |
printf("You've entered %d
"翻譯社 number); |
起首在左欄的專案圖示上按滑鼠輔助鍵 (右鍵,或 Ctrl + 按一下),選擇 Get Info若是你履行到一半想把程式關掉,只要按下紅色的八角牌 (Stop) 就行了。若是這篇只是要教你怎麼按 Compile 的話,那萬國翻譯公司就是來騙文章數的了翻譯是以這篇的內容還包括怎麼利用 Xcode 的 Debugger ,ㄎㄎ。update: Xcode 3.1.2,選 Application ,右選邊 Command Line Utility,然後鄙人方拔取你要用的說話,如 C (標準是 C89) 或 C++並且巨細寫通吃,如果變數名稱是大寫的,你直接打小寫照樣可以做主動完成,按下 Tab 就會泛起准確的巨細寫;假如翻譯公司繼續打,打到再也找不到主動完成,Xcode 就知道你要的不是這個變數名稱,就照著你打的巨細寫輸出。
我們把斷點設在第 8 行,再按 Build,再按 Debug ,你會發現它把陣列的內容顯示在右上方的窗格:那若是是動態產生的陣列呢?我們知道 malloc翻譯社 calloc翻譯社 realloc 傳回來的是它所分派到的記憶體的開首位址,那 Xcode 會不會很伶俐的把它看成陣列呢?答案是….不會!固然 Visual C++ 也不會。我們把上面這段程式點竄成 calloc 的方式:檢視原始碼列印?
利用 Debugger
Xcode 最使我稱道的是它與 GDB 有很好的整合,這對於萬國翻譯公司這類不熟習饬令列式 debugging 的人來講是相當棒的功能翻譯 GDB 在敕令列模式,你要本身下斷點(告知它在第幾行)、本身下指令 (backtrace翻譯社 continue etc.);但有了 Xcode ,你只要有滑鼠就好了。那能不克不及強制 Compiler 主動以 ANSI-C 模式編譯呢?well,這件事在 Visual C++ 做不到,但在 Xcode (或說利用 GNU C Compiler 為編譯器的 IDE) 就做獲得:執行程式
Xcode 在執行程式的時刻,並非丟到終端機.app ,而是在它自己的 Console 裡面做輸入輸出的行為。可能是因為 Xcode 是以 GUI 應用程式為主要導向,所以預設它並沒有開啟 Console,翻譯公司必需手動開啟,在 Preferences 的 Debugging 分頁裡面:假如翻譯公司在 Windows 習慣利用 Visual C++ 或 Dev-C++ 的話,到了 Mac OS X 可能會忽然不知道要怎麼寫程式,特別當你已用 Visual C++ 的 Debugger 用得很上手的話。
把斷點設在第七行 (int i; ),再 Build,按 Debug ,開啟 debugger:
從上圖我們知道兩件事:
- 其一、array 宣佈成 int *,所以 Xcode 抓的是它的記憶體位址。
- 其2、它用 int 的體式格局去讀取 *array 指向的記憶體內容,所以獲得的是首項的值 0 (calloc 會把分派到的內容全部清成 0 )。
那若是要看 array[1] 或其他內容的話怎麼辦呢?這時候候就要用 Expression Monitor 了,它在功能表的「Run → Show → Expressions…」,懶得選的話可以按 Help 然後輸入 exp 搜索
開啟 Expression 視窗,然後鄙人方輸入你要監督的運算式,當然也可以存取記憶體位址;要刪掉運算式的話直接拔取然後按鍵盤上的 Delete (Backspace) 就好了:Debugger 萬國翻譯公司會用的功能大概就如許… 不外我感覺如許也就夠了,用這些就足以 de 出邏輯上的毛病。
字型設定
翻譯公司是否感覺我的範例的字型比力好看呢 XD我的字型是 Microsoft Visual Studio 2008 Express 附帶的 Consolas 系列字型翻譯你看你要用什麼方式搞到這些字型,然落後入 Xcode 的 Preferences 設定:如果要改 Debugger Console 的字型的話,是在 Preferences 的 Debugging 分頁,選擇你要修改的項目,按一下「Set Font…」就好了:
不過它有五項可以調劑,如果翻譯公司有改其中一項的話,建議其他四項也改一改,看起來對照協調:
至於程式碼編纂區的字型,則是放在 Fonts & Colors 裡面。不外因為要改的項目其實太多,就改天吧,這裡教翻譯公司一個小撇步:先按 Command + A 全選,然後在第二欄按兩下,就可以一次改全部了:
—我會的也許也就這些,不知道算不算新手入門了… XD
檢視原始碼
在 GDB 裡面,斷點的界說是「在執行這一行之前先回到 debugger」,也就是說假如翻譯公司把斷點設在第 12 行,那麼它會在執行第 12 行之前暫停程式履行,進入 debugger。設斷點的方式很簡單,在行號上按一下滑鼠鍵就好了翻譯斷點可以移動,用滑鼠拖曳就是。拿掉斷點,只要把它拉出行號區就好了,就像 Dock 一樣直觀操作。目前萬國翻譯公司把斷點設在第 33 行,也就是 some_function(number); 這一行翻譯然後先按鎯頭 (Build) 再按殺蟲劑 (Debug)。接著應當會開啟 Console。先在 Console 裡輸入數字,再按下 Enter,程式會馬上暫停翻譯假如沒有呈現 Debugger,那麼請按下功能表的 「Run → Debugger」 (快速鍵是 Shift + Command + Y)你會看到 debugger 標示停在哪一行,右上角的窗格還會泛起今朝存在的區域變數接著我再多設兩個斷點,劃分在第 11 行和第 20 行 (不消停下來,直接按)。然後按下 Continue (一半暫停、一半播放的綠色圓形按鈕),當它履行到 another_function 這行之前,就會再暫停下來進入 Debugger 。你會發現左上角也有轉變,沒錯,這個就是 Function Call 的 Stack。你可以在分歧的 Stack 之間切換,右側的窗格會呈現分歧的 Local Variables翻譯接著再按一下 Continue,會跳到第 13 行,泛起第三層 Function Call。翻譯公司會發如今右上角的窗格會顯示傳進去的指標的記憶體位址和指標所指的記憶體內容:假如要看全域變數對照麻煩一點,因為 Xcode 設想在履行程式時所使用的 Library (System Call) 也可能存在很多翻譯公司不想知道的全域變數,因此要手動開。在 Debugger 右上角窗格的 Globals 左側阿誰小三角形按一下(或在 Globals 字樣按兩下),會出現另一個視窗叫 Globals Browser,在左側選取你的程式名稱,在右側把你要顯示的全域變數打勾,關掉這個 Globals Browser,回到 Debugger,再按一下 Globals 的小三角形,就有啦翻譯這裡為了實驗這個功能,再多按一個斷點在第 12 行:再來一個小範例,此次是陣列:檢視原始碼列印?
最近萬國翻譯公司們系上的課佈滿了 C programming,我也稍微摸懂了 Xcode 的若干功能,最少萬國翻譯公司可以拿它來寫 C 說話的程式了,就像在 Windows 使用 Visual C++ 那樣。
05 |
int array[] = {1, 2, 3, 4, 5}; |
07 |
for (i = 0; i < 5; i++) |
08 |
printf ("array #%d is %d
", i, array[i]); |
06 |
int *array = (int *) calloc(5, sizeof(int)); |
08 |
for (i = 0; i < 5; i++) |
09 |
printf ("array #%d is %d
", i, array[i]); |
接著按下 「Choose…」,輸入翻譯公司要放置專案的目次,並輸入專案名稱(會在你今朝選擇的目錄裡再開一個新的資料夾),就好了翻譯新增 C 語言專案
按下功能表列的 「File → New Project」 … ,選擇「 Command Line Tool」裡面的「Standard Tool」—