從Swift 到 OC 第四天, OC 的基礎語法 & 編譯,鏈結,執行
tags: OC 30 day
基礎語法
- oc 的副檔名
 
- main 函數
 
- import 指令
 
- NSLog 函數
 
oc 的副檔名
oc 的原文件副檔名為 .m,m代表message 代表oc中最重要的一個機制,消息機制。
main 函數仍是OC程序的入口以及出口
int 類型的返回值,代表程序的結束狀態。
main函數的參數:仍然可以接收用戶在運行程序時傳遞數據給程序。
參數也可以不要。
import 指令
- 以#為開頭。
 
- 作用: 為include 加強版
 
- 一個文件無論 import 多少次只會包含一次。
 
NSLog 函數
- 作用:printf 的增強版
 
- 語法:NSLog(@"格式控制字符串",變量列表);
最簡單的語法: NSLog(@"要輸入的字符串"); 
編譯,鏈結,執行
Let's start
1.  在 .m 文件中寫上符合OC語法規範的源代碼。
cd 到一個資料夾

建立一個OC的文件

touch main.m
執行該文件

導入 Foundation的框架
#import <Foundation/Foundation.h>
main 函數
int main(){
return 0;
}
在main 函數中放入一個NSLog
NSLog(@"測試");
完成後應該要長這樣

2. 使用編譯器將源代編譯為目標文件
編譯時,到底做了哪些事情呢?
- 預處理
 
- 檢查代碼
 
- 編譯
 
cc -c xx.m

3. 鏈接
cc xx.o

這個時候居然報錯了

為什麼呢?
如果程序中使用到了框架的函數或者類,那麼在鏈結的時候,就必須要告訴編譯器要去哪一個框架中找到這個函數或者類。
如何做到呢?
cc xx.o -framework 框架名稱
cc main.o -framework Foundation
執行
 ./a.out

4. 鏈結成功後,就會生成一個a.out的副文件,執行就可以了。
以上的過程 Xcode 都會自動幫我們完成,我們只需要了解這些過程就行了