Mac OS X 平台上的開發利器—XCode

來源:互聯網
上載者:User
Mac OS X 平台上的開發利器---XCode
楊小華(normalnotebook@126.com)

一.XCode簡介
       記得以前在瀏覽關於龍芯的新聞時,龍芯的製造者曾經說過一句話,一款CPU能否流行,關鍵是否有對應的整合式開發環境。對於一款操作體統來說,也何嘗不是這樣。在windows系統上做開發的人,最熟悉的恐怕是visual studio,eclipse等。在linux上做過開發的人,恐怕用的最多是vi和emacs。也有不少linux廠商在該平台上推出了基於eclipse,經過改造後的整合式開發環境,只是各個廠商取的名字不同而已。
        Mac OS X是一個unix作業系統,最基本的編譯和調試工具分別是gcc和gdb。蘋果機器上預裝的Mac OS X,不具備開發環境。需要單獨安裝XCode工具,這樣才具備開發能力。XCode可以從蘋果的網站下載。
首先我們來目睹一下XCode的神秘面紗: 

二.揭開XCode的神秘面紗
        XCode是一款強大的開發工具,可以建立多種工程。:

        不難看出, XCode工具支援多種類型的工程。每個大項裡面又細分出很多小項。
        心動不如行動,下面建立一個多線程式控制制台程式,來體驗XCode的強大功能。 

        取名為multithread,示列代碼如下:#include <stdio.h>
#include <pthread.h>


void *task1()
...{
    int i=0;
    for(i=0;i<500000;i++)
        printf("Hello, task1! ");   
}

void *task2()
...{
    int i=0;
    for(i=0;i<500000;i++)
        printf("Hello, task2! ");   
}


int main (int argc, const char * argv[]) ...{
    // insert code here...

    pthread_t ThreadA,ThreadB;
    printf("Hello, World! ");
    pthread_create(&ThreadA,NULL,task1,NULL);
    pthread_create(&ThreadA,NULL,task2,NULL);   
    pthread_join(ThreadA,NULL);   
    pthread_join(ThreadB,NULL);
   
    return 0;

       編寫完程式後,然後開始編譯,單擊[Build]菜單中的Build選項,跟visual studio 和 eclipse不同的是,如果出現編譯錯誤,不會彈出表單,報告錯誤,只是在狀態列顯示有幾個錯誤和警告。如果想具體知道錯在哪裡,可以單擊左側欄中的errors and warnings 選項,一目瞭然的查看出錯在哪個檔案及行數,錯誤原因等資訊。
       XCode提供了豐富的調試手段,可以以圖形介面調試,也可以通過終端來調試。終端調試方式就是普通的gdb介面,: 

對應的圖形介面為:

      在gdb中,可以設定斷點,觀察點,異常點。但在XCode工具中,沒有提供設定觀察點的方法。同時它還提供了大量新增斷點的方法,: 

       利用XCode工具建立工程,可以省去我們編寫makefile的煩惱。這一點做的跟visual studio類似。
       ok,XCode工具基本用法就介紹到這裡,下一篇介紹XCode提供的效能工具。現在多線程編程已經成為趨勢,我們將利用這些工具對多線程進行分析。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.