Objective-C簡(jiǎn)介

Objective-C 語言簡(jiǎn)介

  • Objevitve-C在C語言基礎(chǔ)上做了面向?qū)ο蟮臄U(kuò)展。
  • 1980年代由Brad Cox和Tom Love發(fā)明,后來成為NeXT的主力語言,后被蘋果收購(gòu),成為蘋果開發(fā)平臺(tái)的主力語言。
  • 與Cocoa和Cocoa Touch 框架高度集成,支持開發(fā)Mac OS X 、IOS應(yīng)用
  • 在蘋果開發(fā)平臺(tái)上,通過LLVM編譯器架構(gòu),支持與Swift語言雙向互操作

Objietvie-C演進(jìn)脈絡(luò).png

IOS開發(fā)平臺(tái).png

如何掌握高級(jí)編程語言

  • 底層思維:向下,如何把握機(jī)器底層從微觀理解對(duì)象構(gòu)造
    • 語言構(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
  • 人物分析-代碼從哪里來?
    • programmer VS compiler/runtime/framework

兩種開發(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

打開該文件,則可以得到程序的輸出
刪除arc開關(guān)語句則會(huì)報(bào)錯(cuò),不支持autoreleasepool語句
clang可以替換為gcc同樣可以編譯得到結(jié)果


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容