linux apple開發環境,Objective-C開發環境設置

如果要安裝自己的Objective-C編程語言編程環境,則需要在計算機上安裝文本編輯器和GCC編譯器。

1. 文本編輯器

文本編輯器用于編寫程序代碼。一些常見的編輯器如:Windows Notepad,OS Edit命令,Brief,Epsilon,EMACS和vim/vi等。

文本編輯器的名稱和版本可能因不同的操作系統而異。 例如,Notepad將在Windows上使用,vim/vi可以在Windows以及Linux或UNIX上使用。

使用編輯器創建用于存儲代碼的文件稱為源文件,它包含程序源代碼。 Objective-C程序的源文件通常以.m作為擴展名。

在開始編程之前,請確保有一個文本編輯器,并且有足夠的經驗來編寫計算機程序,將其保存在文件中,編譯并最終執行。

2. GCC編譯器

源文件中編寫的源代碼是程序的可讀源代碼。它需要被“編譯”成機器語言,這樣CPU才能按照給出的指令執行實際的程序。

GCC編譯器將用于將源代碼編譯為最終的可執行程序。 這里假設讀者具有編程語言編譯器的基本知識。

GCC編譯器可在各種平臺上免費使用,下面介紹在各種平臺上設置的過程。

3. 在UNIX/Linux上安裝

首先是安裝gcc以及gcc Objective-C包。這里以Centos/Redhat為例,它通過以下命令 -

$ su -

$ yum install gcc

$ yum install gcc-objc

進一步是使用以下命令設置包依賴項 -

$ yum install make libpng libpng-devel libtiff libtiff-devel libobjc

libxml2 libxml2-devel libX11-devel libXt-devel libjpeg libjpeg-devel

要獲得Objective-C的全部功能,請下載并安裝GNUStep。 這可以通過從 http://main.gnustep.org/resources/downloads.php 下載軟件包來完成。

現在,需要切換到下載的文件夾并通過以下方式解壓縮文件 -

$ tar xvfz gnustep-startup-.tar.gz

現在,需要切換進入到創建的文件夾gnustep-startup -

$ cd gnustep-startup-

接下來,需要配置構建過程 -

$ ./configure

然后,開始構建 -

$ make

最后,需要最終建立環境 -

$ ./usr/GNUstep/System/Library/Makefiles/GNUstep.sh

接下來,編寫一個簡單的Objective-C程序 - helloWorld.m,完整代碼如下 -

#import

int main (int argc, const char * argv[]) {

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

NSLog (@"hello world");

[pool drain];

return 0;

}

現在,通過使用cd 切換到包含該文件的文件夾,使用以下步驟編譯并運行一個Objective-C文件 - helloWorld.m -

$ gcc `gnustep-config --objc-flags` -L/usr/GNUstep/Local/Library/Libraries -lgnustep-base helloWorld.m -o helloWorld

$ ./helloWorld

現在就應該可以看到以下輸出了,如下所示:

2018-11-07 11:48:39.412 yiibai[11096] hello world

4. 在Mac OS上安裝

如果使用的是Mac OS X,獲取GCC的最簡單方法是從Apple的網站下載Xcode開發環境,并按照簡單的安裝說明進行操作。當設置了Xcode,就可以將GNU編譯器用于編譯C/C++程序了。

Xcode目前可在 https://developer.apple.com/technologies/tools/ 上找到并下載。

注:在Mac OS上編寫Objective-C就很簡單了,只需要打開 Xcode 就可以編寫、編譯和運行程序了。

¥ 我要打賞

糾錯/補充

收藏

加QQ群啦,易百教程官方技術學習群

注意:建議每個人選自己的技術方向加群,同一個QQ最多限加 3 個群。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531629.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531629.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531629.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

codeforces C. Design Tutorial: Make It Nondeterministic

題意:每一個人 都有frist name 和 last name! 從每一個人的名字中任意選擇 first name 或者 last name 作為這個人的編號!通過對編號的排序,得到每一個人 最終順序!比較中的序列能否得到給定輸出的序列一致&#xff01…

Linux系統擴硬盤,Linux系統硬盤擴容

1、查看硬盤已經用了99%$ df -h #查看硬盤已經使用了99%文件系統 容量 已用 可用 已用% 掛載點devtmpfs 2.0G 0 2.0G 0% /devtmpfs 2.0G 12K 2.0G 1% /dev/shmtmpfs 2.0G 11M 2.0G 1% /runtmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup/dev/mapper/centos-root 47G 47G 687M 99% / ####…

codeforce A. Design Tutorial: Learn from Math

題意:將一個數拆成兩個合數的和, 輸出這兩個數!(這道題做的真是TMD水啊)開始的時候不知道composite numbers是啥意思,看了3遍才看懂.... 看懂之后又想用素數篩選法來做,后來決定單個判斷一個數是…

設置密碼命名是什么linux,orapwd 工具建立密碼文件遵守的命名方法

orapwd 工具建立建立的密碼文件 一定要orapw實例名嗎我在11g和10g 測試是必須要 orapw實例名 才能登錄成功以下是驗證過程[oracleasm dbs]$ rm orapwasm[oracleasm dbs]$ orapwd fileorapwdasm passwordabcdefg entries10[oracleasm dbs]$ sqlplus /nologSQL*Plus: Release 10.…

codeforces B. Design Tutorial: Learn from Life

題意:有一個電梯,每一個人都想乘電梯到達自己想要到達的樓層!從a層到b層的時間是|a-b|, 乘客上下電梯的時間忽略不計!問最少需要多少的時間.... 這是一道神題啊,自己的思路不知不覺的就按照注解的思路走…

arm linux 中斷優先級,ARM中斷處理過程

以s3c2440 ARM9核為例:一:s3c2440 ARM處理器特性:1、S3C2440支持60個中斷源,含子中斷源;2、ARM9采用五級流水線方式;3、支持外部中斷和內部中斷;二、s3c2440 支持的寄存器:2.1 外部中斷寄存器24…

codeforces D. Design Tutorial: Inverse the Problem

題意:給定一個矩陣,表示每兩個節點之間的權值距離,問是否可以對應生成一棵樹, 使得這棵樹中的任意兩點之間的距離和矩陣中的對應兩點的距離相等! 思路:我們將給定的矩陣看成是一個圖,a 到 b會有…

linux ssh 遠程會話保存,遠程SSH會話和流程在斷開后運行的5種方法

SSH或安全Shell簡單來說就是一個人可以遠程訪問其他用戶的其他系統,但僅在命令行即非GUI模式的方法。 在更多的技術術語中,當我們ssh到其他用戶在某些其他系統上并在該機器上運行命令時,它實際上創建一個偽終端并將其附加到登錄用戶的登錄she…

java模擬一個簡單的QQ

v 項目源碼https://github.com/hjzgg/java_QQ v 標題效果package testFour;import java.awt.Color; import java.awt.Dimension; import java.awt.FontMetrics; import java.awt.Graphics; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.I…

修改Linux啟動后的默認顏色,更改linux目錄的默認顏色(我選擇了Yellow)

在控制臺下,用ls,就會發現,shell將不同類型的文件項目顯示為不同的顏色。者可以提高效率,不用ls -l便能大概的把各個文件的類型情況了解一下。你有沒有想過更改這個著色配置呢?其 實,在/etc下有一個DIR_COL…

AC_Dream 1216 G - Beautiful People

題意&#xff1a;有n個人每人有一個力氣值Si,美麗值Bi&#xff0c;滿足Bi>Bj&&Si>Sj 或者 Bi<Bj&&Si<Sj 的人可以一起參見晚會&#xff0c;問最多有多少人可以一起參見晚會。思路&#xff1a; 我們根據S從小到大將所有人排序&#xff0c;然后看B最…

云主機用linux還是winows,云服務器一般使用什么系統?Linux還是Windows?

云服務器一般使用什么系統?最常用的就是Linux以及Windows系統&#xff0c;兩大系統各有不同優勢&#xff0c;大家選擇上也是存在差異的&#xff0c;接下來跟著小編來了解一下吧。Windows系統&#xff1a;一般情況來說&#xff0c;Windows系統常用的是Server 2003和Server 2008…

c語言程序中return的作用,單片機C語言程序中return dat 什么意思

/* 打開 ISP,IAP 功能 */void ISP_IAP_enable(void){EA 0; /* 關中斷 */ISP_CONTR ISP_CONTR & 0x18; /* 0001,1000 */ISP_CONTR ISP_CONTR | WaitTime; /* 寫入硬件延時 */ISP_CONTR ISP_CONTR | 0x80; /* ISPEN1 */}/* 關閉 ISP,IAP 功能 *…

java中DatagramSocket連續發送多個數據報包時產生丟包現象解決方案

1 try {2 //向指定的ip和端口發送數據~&#xff01;3 //先說明一下數據是誰發送過來的&#xff01;4 byte[] ip InetAddress.getLocalHost().getHostAddress().getBytes();5 …

二級c語言程序設計bug,《C語言及程序設計》實踐項目——發現Bug

返回&#xff1a;賀老師課程教學鏈接【項目1-sin泰勒展式中的錯誤】下面是sin函數的泰勒展式&#xff1a;(注&#xff1a;x取弧度值&#xff0c;而非角度值)編寫了double mysin(double x)用于求sin值&#xff0c;卻“死”在了123上。劇透一下&#xff0c;循環沒有問題(當然問題…

AC_Dream 1224 Robbers(貪心)

題意&#xff1a;n個搶劫犯分別搶到的金錢是k1, k2, k3,...&#xff0c;一共得到的金錢是m&#xff0c; 但是在分錢的時候是按照x1/y, x2/y, x3/y,....的比例進行分配的&#xff01;這樣的話 一些搶劫犯就會覺得不公平&#xff0c;不公平度為|xi/y - ki/m|(浮點運算)&#xff0…

C語言編程出圖形,C語言畫出各種圖形

矩形&#xff1a;(里面是空的)******** ** ** ********Program ended with exit code: 0for (int i 0; i < 5; i ) {for (int j 0; j < 7; j ) {//用條件判斷打出*號if (i 0 || i 4 || j 0 || j 6 ) {printf("*");}else{printf(" "…

AC_Dream 1211 Reactor Cooling

1 /*2 題意&#xff1a;無源無匯&#xff0c;并且每條邊的容量有上下界限的網絡流問題&#xff01;既然無源無匯&#xff0c;那么素有的節點都應該滿足“入流出流”&#xff01;3 輸出每一條邊的流量&#xff0c;使得滿足上面的條件。&#xff08;如果u->v有流…

c語言中const對于define優點,為什么大多數C開發人員使用define而不是const?

這有一個非常可靠的原因&#xff1a;C中的const并不意味著一些常量。 這只是意味著一個variables是只讀的。在編譯器需要一個常量的地方(例如非VLA數組的數組大小)&#xff0c;使用constvariables(如fieldWidth是不可能的。他們不一樣const只是一個限定符&#xff0c;它表示一個…

c語言程序設計期末試卷A,《C語言程序設計》期末試卷(A)..doc

《C語言程序設計》期末試卷(A).2011-12-1學期《C語言程序設計》期末試卷(A)班級____________姓名____________學號________________大題號一二三四總分得 分判卷 /核分人“一、選擇題”使用答題卡選擇。“二、看程序寫運行結果”答題處&#xff1a;題號答 案二、1二、2二、3“三…