Swift之源码编译的环境搭建和编译流程
生活随笔
收集整理的這篇文章主要介紹了
Swift之源码编译的环境搭建和编译流程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
編譯環境
- 版本準備:macOS 10.15.3 Xcode 11.5
- brew install cmake njnia
- Python 2.X
- Swift 源碼地址:Apple/Swift
編譯流程
① clone 源碼
- clone 命令:
- 這里我編譯的是 swift-5.2.4-RELEASE,因為在編譯源碼的時候,這是我使用的版本。
- 如果需要編譯更新的源碼,可自行在官網上尋找對應的版本:Apple/Swift。同時要注意對應的Xcode的版本要匹配(在官方文檔編譯的時候會有具體的說明)。
- clone 完成如下:
② update-checkout
- 確保當前的目錄在 swift-source 下,然后執行以下命令:
- 結果如下:
- 這一步特別重要,因為 update-checkout 會 clone 編譯 swift 相關的庫,不然之后編譯 swift 的過程中一定會失敗。
③ 編譯
- 編譯過程中,既可以使用 njnia ,也可以使用 Xcode 來進行編譯。在實際的編譯測試過程中,Xcode 編譯之后的支持性不是特別好,推薦使用 njnia 來編譯。
- 利用 swift 源碼中的腳本編譯:
- 或者執行以下腳本查閱命令:
- 編譯完成如下:
④ 調試 Swift
- 要在 Xcode 中打開 Swift 項目,請打開/swift-source/build/Xcode-ReleaseAssert+swift-DebugAssert/swift-macosx-x86_64/Swift.xcodeproj。
- 它將為所有可用目標自動創建很多方案。常見的調試流程將涉及:
- 選擇 swift scheme。
- 調出 scheme 編輯器(??<)。
- 選擇 Arguments 選項卡,然后單擊 +。
- 添加命令行選項,這個根據自行需求設置,如果沒有特殊需求,正常編譯。
- 關閉scheme 編輯器。
- 編譯并運行。
⑤ 使用 VSCode 調試 Swift
- 打開 VSCode 安裝 CodeLLDB 插件,如下所示:
- 配置JSON 文件,如下所示:
- 配置內容如下:
- 注意:上面的 program 文件路徑需要和你編譯的文件路徑相同。
- Run 之后:
- 過掉斷點:
- 示例如下:
- 在調試 .swift 文件的時候,可能不會出現上面 3 的情況,解決辦法如下:
-
- 先找 LLDB 的安裝路徑,如下:
-
- 然后找到編譯之后的 LLDB 的文件路徑,把這里面的文件全部拷貝到上面的目錄之下:
-
- 同時修改 CodeLLDB 的 lib 文件下的 dylib 文件:
-
- 切換到終端,然后就可調試 Swift 源碼。
- 在終端中輸入以下代碼(也可以從 swift 文件拷貝):
- 在源碼中搜索 *_swift_allocObject,加上斷點:
- 繼續在終端輸入 var t = YDWTeacher(),然后回車:
- 這樣我們就可以愉快的玩耍調試 Swift 源碼啦!
總結
以上是生活随笔為你收集整理的Swift之源码编译的环境搭建和编译流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据结构与算法】之“接雨水”的算法求解
- 下一篇: 【数据结构与算法】之重复的DNA序列的算