Objective-C 語(yǔ)言簡(jiǎn)介
- Objevitve-C在C語(yǔ)言基礎(chǔ)上做了面向?qū)ο蟮臄U(kuò)展。
- 1980年代由Brad Cox和Tom Love發(fā)明靠欢,后來(lái)成為NeXT的主力語(yǔ)言,后被蘋果收購(gòu)铜跑,成為蘋果開(kāi)發(fā)平臺(tái)的主力語(yǔ)言门怪。
- 與Cocoa和Cocoa Touch 框架高度集成,支持開(kāi)發(fā)Mac OS X 锅纺、IOS應(yīng)用
- 在蘋果開(kāi)發(fā)平臺(tái)上掷空,通過(guò)LLVM編譯器架構(gòu),支持與Swift語(yǔ)言雙向互操作
如何掌握高級(jí)編程語(yǔ)言
- 底層思維:向下,如何把握機(jī)器底層從微觀理解對(duì)象構(gòu)造
- 語(yǔ)言構(gòu)造
- 編譯轉(zhuǎn)換
- 內(nèi)存模型
- 運(yùn)行時(shí)機(jī)制
- 抽象思維:向上坦弟,如何將我們周圍的世界抽象為程序代碼
- 面向?qū)ο?/li>
- 組件封裝
- 設(shè)計(jì)模式
- 架構(gòu)模式
“時(shí)空人”三位一體分析法
- 對(duì)時(shí)間分析
- compile-time VS run-time
- 空間分析
- stack VS heap
- 人物分析-代碼從哪里來(lái)护锤?
- programmer VS compiler/runtime/framework
兩種開(kāi)發(fā)方式
-
Clang或者GCC命令行
- clang -fobjc HellowWorld.m
- -fobjc-arc 支持ARC內(nèi)存管理
- 適合調(diào)試、研究酿傍、微觀探查
-
Xcode項(xiàng)目
-構(gòu)建正規(guī)工程項(xiàng)目
-使用大型框架烙懦,追求設(shè)計(jì)質(zhì)量與代碼組織
利用命令行編譯程序
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]){
@autoreleasepool {
NSLog(@"Hello,Wrold");
}
return 0;
}
在文件夾生成一個(gè)后綴為.m的實(shí)現(xiàn)文件
在終端先跳轉(zhuǎn)到當(dāng)前文件夾
clang -fobjc-arc HelloWrold.m -o HelloWorld
在文件系統(tǒng)里會(huì)生成一個(gè)新的文件HelloWorld
在終端里輸入
./HelloWrold
打開(kāi)該文件,則可以得到程序的輸出
刪除arc開(kāi)關(guān)語(yǔ)句則會(huì)報(bào)錯(cuò)赤炒,不支持autoreleasepool語(yǔ)句
clang可以替換為gcc同樣可以編譯得到結(jié)果