代碼在 RunLoopDemo 中泉唁。 RunLoop 與 performSelector 第一個 ViewController:場景:頁面上有一個 imageView走越,一個 ...

代碼在 RunLoopDemo 中泉唁。 RunLoop 與 performSelector 第一個 ViewController:場景:頁面上有一個 imageView走越,一個 ...
此篇主要分析 RunLoop 的源碼阿宅,對源碼的注釋在倉庫中狭魂。 分析源碼我主要采用的是: RunLoop 相關(guān)的結(jié)構(gòu) -> RunLoop 如何創(chuàng)建 -> RunLoop 如何...
此篇為對 RunLoop 的相關(guān)概念的總結(jié)猖闪,主要介紹 RunLoop 的一些概念 RunLoop 簡介 RunLoop 是與線程相關(guān)聯(lián)的基礎(chǔ)架構(gòu)吹榴,它可以使得線程在沒有任務(wù)到來...
class-dump的安裝 系統(tǒng):macOS High Sierra 版本 10.13.1首先下載class-dump胧洒。下載地址下載完成后得到一個.dmg包文件并雙擊打開(根...
LLVM具有強大的模塊間優(yōu)化功能卫漫,可以在鏈接時使用菲饼。鏈接時優(yōu)化(LTO)就是指在鏈接時進行模塊間的優(yōu)化。本文介紹了LTO優(yōu)化器與鏈接器在接口上的設(shè)計列赎。 鏈接器使用libLTO...
本文是學(xué)習(xí)Makefile的總結(jié)與記錄宏悦,學(xué)習(xí)自 跟我一起寫Makefile 感謝作者與整理者,需要pdf文件請留言包吝,如有錯誤請及時提出饼煞。 在學(xué)習(xí)Makefile之前,首先介紹...
學(xué)習(xí)了一段時間的LLVM后,難免需要對其做一個總結(jié)掺喻,同時準(zhǔn)備下一階段的學(xué)習(xí)工作——基于LLVM自定制代碼混淆器芭届。在此只記錄學(xué)習(xí)內(nèi)容,不表達(dá)實現(xiàn)方式感耙。 LLVM褂乍、clang、I...
函數(shù)的Annotation LLVM通過在函數(shù)定義上使用annotation(注解)即硼,可以在編寫源語言程序時控制LLVM在某個函數(shù)上的使用逃片,或者禁止某些pass。這種方式為編...
【LLVM】編寫自己的pass LLVM的Pass框架是LLVM中的重要部分,多個pass一起完成了LLVM的優(yōu)化與代碼轉(zhuǎn)換工作褥实。每個pass都會完成指定的優(yōu)化工作呀狼。在某些情...
LLVM的下載以及編譯見這篇文章下面主要是LLVM的工具鏈的使用,工具鏈可在build/bin目錄下查看到损离。 工具鏈的使用 首先創(chuàng)建C語言的源代碼文件test. 編譯生成可執(zhí)...
LLVM Pass之間的依賴關(guān)系是由PassManager進行管理控制的哥艇。由它來控制并管理pass之間的交互與操作。如果pass之間存在依賴關(guān)系僻澎,例如在執(zhí)行本pass之前必須...
@IT人故事會 謝謝關(guān)注貌踏,互相學(xué)習(xí)
【LLVM】LLVM架構(gòu)介紹LLVM架構(gòu)介紹 本文主要介紹了LLVM的架構(gòu)設(shè)計。LLVM命名源自于底層虛擬機(Low Level Virtual Machine)的縮寫窟勃。它并不是針對于某一種語言的編譯器...
LLVM的編譯流程 在介紹編譯流程之前祖乳,首先回顧一下LLVM:LLVM是一個模塊化的、可重用的編譯器和工具鏈技術(shù)的集合秉氧,Clang 是 LLVM 的子項目眷昆,是 C,C++ 和...
LLVM學(xué)習(xí)入門 入門學(xué)習(xí)LLVM開始汁咏,回顧一下之前的知識亚斋。首先,LLVM由三個部分組成梆暖, 第一部分是LLVM組件伞访,它包括工具集掂骏,庫文件以及LLVM需要用到的頭文件轰驳。它包括匯...
LLVM架構(gòu)介紹 本文主要介紹了LLVM的架構(gòu)設(shè)計。LLVM命名源自于底層虛擬機(Low Level Virtual Machine)的縮寫弟灼。它并不是針對于某一種語言的編譯器...
copy關(guān)鍵字主要有兩個要注意的地方欧穴,一個是何時使用copy關(guān)鍵字聲明民逼;第二個問題是深拷貝與淺拷貝的問題。 什么時候使用copy關(guān)鍵字 用于修飾block在MRC時代涮帘,blo...