英文翻譯中文上方東西列由左至右分別是:
- Overview:編譯選項,可以選擇要在 Debug 模式或 Release 模式,和目標功課系統 (10.4 或 10.5)
- Action:一些針對專案快速呼叫的指令
- Build:編譯
- Build and Go:編譯並履行
- Run:履行今朝已編譯的程式(假如之前沒編譯的話就不克不及按)
- Debug:進入除錯模式
- Tasks:停止今朝執行的程式。若是啟動多個程式,就有一個小三角形讓你選要停哪一隻
- Info:取得簡介 (仿佛是廢話…)
接著按下 「Choose…」,輸入你要放置專案的目次,並輸入專案名稱(會在你今朝選擇的目錄裡再開一個新的資料夾),就行了。編譯的快速鍵是 Command + B ,直接按這個會比移動滑鼠游標還利便。編譯原始碼
「編譯與履行」這件事對於用慣 Visual C++ 的人應該不生疏,所以這裡也沒甚麼好說的。履行程式
Xcode 在履行程式的時辰,並非丟到終端機.app ,而是在它本身的 Console 裡面做輸入輸出的行為翻譯多是因為 Xcode 是以 GUI 利用程式為首要導向,所以預設它並沒有開啟 Console,你必需手動開啟,在 Preferences 的 Debugging 分頁裡面:並且巨細寫通吃,假如變數名稱是大寫的,你直接打小寫照樣可以做主動完成,按下 Tab 就會出現正確的巨細寫;如果翻譯公司繼續打,打到再也找不到主動完成,Xcode 就知道你要的不是這個變數名稱,就照著你打的巨細寫輸出。Xcode 在呈現編譯毛病或正告的時辰,會自動在編輯區泛起錯誤,像如許:鍛練,我想寫 ANSI C
翻譯公司是不是有這種經驗:當翻譯公司的 C 程式寫好了,並且可以在本身的電腦編譯、執行,但丟到 Online Judge (例如人稱 ACM 的那家,或零架雞) 選 C 說話卻噴 Compile Error ?其實這是因為翻譯公司沒有用標準的 ANSI-C 語法來寫。最顯著的差別在於,ANSI-C 不支援以 // 開頭的註解。那能不能強迫 Compiler 自動以 ANSI-C 模式編譯呢?well,這件事在 Visual C++ 做不到,但在 Xcode (或說利用 GNU C Compiler 為編譯器的 IDE) 就做獲得:
05 |
int array[] = {1, 2翻譯社 3, 4, 5}; |
07 |
for (i = 0; i < 5; i++) |
08 |
printf ("array #%d is %d
", i, array[i]); |
update: Xcode 3.1.2,選 Application ,右選邊 Command Line Utility,然後在下方選取你要用的語言,如 C (標準是 C89) 或 C++
06 |
int *array = (int *) calloc(5翻譯社 sizeof(int)); |
08 |
for (i = 0; i < 5; i++) |
09 |
printf ("array #%d is %d
", i翻譯社 array[i]); |
比來天成翻譯公司們系上的課佈滿了 C programming,我也略微摸懂了 Xcode 的若干功能,最少我可以拿它來寫 C 語言的程式了,就像在 Windows 利用 Visual C++ 那樣。新增 C 說話專案
按下功能表列的 「File → New Project」 … ,選擇「 Command Line Tool」裡面的「Standard Tool」當游標後面出現反白的淡字,按下 Tab 會立刻套用今朝顯示的自動完成,按下 Esc 可讓你看到其他的可用自動完成。以下以一個簡單的小程式做類型:
這篇是給新手看的翻譯 轉錄自http://blog.yorkxin.org/2009/03/15/fundamental-c-with-xcode/
現在再按 Build,翻譯公司應當知道哪裡有錯了。
接著來試著履行一個具有輸入輸出的簡單程式。按下 Build & Go (快速鍵是 Command + R,跟 Safari 的從頭清算是一樣的),操作體例就跟 Visual C++ 或 Dev-C++ 在饬令提醒字元裡面是差不多的,只是它佈景是白色,並且程式竣事不會把 Console 關掉:這是 Xcode 的專案視窗根基設置裝備擺設翻譯首先在左欄的專案圖示上按滑鼠輔助鍵 (右鍵,或 Ctrl + 按一下),選擇 Get Info若是翻譯公司在 Windows 習慣利用 Visual C++ 或 Dev-C++ 的話,到了 Mac OS X 可能會突然不知道要怎麼寫程式,特別當你已用 Visual C++ 的 Debugger 用得很上手的話。主動完成
Xcode 的編輯用具備自動完成的功能。其實不消我介紹翻譯公司應當就會了,因為你在打字的時刻就會發現翻譯變數名稱可以、#define token 可以、函式 prototype 可以、struct 元素也能夠,乃至你在 #include 的時候也能夠讓你看到有哪些 Library 你可以用的。
在 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 行:再來一個小範例,此次是陣列:檢視原始碼列印?
如果你履行到一半想把程式關掉,只要按下紅色的八角牌 (Stop) 就行了。
如斯你就沒必要再到 Compile Output 裡面找看是哪一行了。—
安裝 Xcode
首先固然是去 Apple 的網站下載 Xcode (免錢,但需註冊 Apple Developer Connection 帳號,也是免錢),若是翻譯公司買的機械夠新的話,可以直接拿出安裝光碟第一片,在「Optional Install」資料夾裡面找到最新的 Xcode 的安裝檔翻譯下載回來裡面有一個橘色的包裹,按兩下然後照唆使安裝 (平日就一直按「繼續」)。利用 Debugger
Xcode 最讓天成翻譯公司稱道的是它與 GDB 有很好的整合,這對於我這類不熟悉敕令列式 debugging 的人來講是相當棒的功能。 GDB 在饬令列模式,你要本身下斷點(告知它在第幾行)、自己下指令 (backtrace翻譯社 continue etc.);但有了 Xcode ,翻譯公司只要有滑鼠就行了翻譯必須注意的是,若是翻譯公司的函式是來自其他的 Header ,必須要先 Build 過 (error 也無妨) 才能呈現主動完成。例如我剛引入 string.h ,但 Xcode 還不知道 string.h 裡面有什麼器械。按一下 Build 它就會把 string.h 裡面有的器械放入自動完成了翻譯
檢視原始碼切換到 Build 分頁,在右上角的搜索框輸入 ansi 這四個字,你就會看到它像 Spotlight 一樣幫翻譯公司找到這個選項: GCC 4.0 – Language / C Language Dialect 。把它改成 ANSI C [-ansi] 就好了翻譯安裝完成後,可以在「硬碟 → Developer → Applications」這個資料夾裡面找到 Xcode ,按兩下開啟翻譯
列印?
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:"); |
33 |
some_function(number); |
34 |
printf("You've entered %d
", number); |
假如這篇只是要教你怎麼按 Compile 的話,那天成翻譯公司就是來騙文章數的了。因此這篇的內容還包括怎麼利用 Xcode 的 Debugger ,ㄎㄎ翻譯
我們把斷點設在第 8 行,再按 Build,再按 Debug ,你會發現它把陣列的內容顯示在右上方的窗格:那如果是動態產生的陣列呢?我們知道 malloc, calloc, realloc 傳回來的是它所分派到的記憶體的開首位址,那 Xcode 會不會很聰明的把它看成陣列呢?謎底是….不會!固然 Visual C++ 也不會翻譯我們把上面這段程式點竄成 calloc 的體例:檢視原始碼列印?
把斷點設在第七行 (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天成翻譯公司的字型是 文章來自: http://blog.xuite.net/csiewap/cc/43399011-%5B%E5%85%A5%E9%96%80%E7%B4%9A%5D+%E5%A6%82%E4%BD%95%E7%94有關各國語文翻譯公證的問題歡迎諮詢天成翻譯公司02-77260931