Xcode 中代碼編譯器clang
想要看看clang的一片文章嗎?clang here you are
簡單介紹利用terminal 實作clang編譯器編譯OC代碼的兩個小方法:
一、 運作編譯一段程式的方法:
1. 建立一個工程(HelloWord.m)為例
a. 打開terminal,cd 到某directory,找到擱置代碼檔案的目錄des_dir,(或者可以$ mkdir des_dir | cd des_dir建立一個并進去)
b. 在des_dir中 vim HelloWord.m, 建立好檔案後,輸入文下的程式代碼。wq一下回到des_dir 下,cat HelloWord确定一下是否代碼正确
當然你可以使用OS X + 滑鼠等慣用操作完成找到目标目錄,建立檔案夾,建立.m 文本,copyCode到文本中,一氣呵成。
#import <Foundation/Foundation.h>
int main(int argc,const char * argv[])
{
@autoreleasepool
{
NSLog(@"Hello, OC!");
}
return 0;
}
2. terminal保留在目前目錄下,使用clang指令編譯代碼檔案
a. $ pwd 檢視目前目錄位置 (/Users/xw.long/Desktop/XWPro/des_dir) $ls 檢視目錄檔案(HelloWord.m)
b. $ clang -fobjc-arc -framework Foundation HelloWord.m -o HelloWord
• $符号是終端指令提示符,不是需要輸入的内容
• -fobjc-arc表示編譯器需要支援ARC特性
• -framework Foundation表示引用Foundation架構
• HelloWord.m為需要進行編譯的源代碼檔案
• -o HelloWord表示輸出的可執行檔案的檔案名
3. 第二步孫俪完成後,生成可執行檔案,既可以運作可執行檔案了(HelloWord)
a. 輸入的指令如下: $ ./HelloWord
b.得到輸出結果:Hello,OC !
二、 Clang 指令将OC 轉化為cpp(C++)源碼: 1. 慘遭 一 中的方法建立一個oc源碼檔案.m 輸入内容如下:
int main(){
void (^blk)(void) = ^{printf("block\n");};
blk();
return 0;
}
2. 控制台指令是: clang -rewrite-objc 源代碼檔案名。
如這個地方應該輸入: clang -rewrite-objc main.m,經過裝換後會生成一個main.cpp 的源碼檔案
3.檢視源碼檔案,
方法有很多,可以直接open main.cpp ,或者cat main.cpp 在terminal中翻頁浏覽
會發現,簡單的一段OC 塊代碼 轉譯為C++代碼後 很冗長的一個篇章呀。
)