update: 动态库、静态库的编译链接细节

This commit is contained in:
FantasticLBP
2025-06-23 01:18:55 +08:00
parent aca020701b
commit 1142064d28
129 changed files with 10932 additions and 2615 deletions

View File

@@ -197,6 +197,21 @@ LLVM IR 有3种表示格式
## 调试 LLVM
选择 Edit Scheme.
<img src="./../assets/LLVM-Debug1.png" style="zoom:30%" />
<img src="./../assets/LLVM-Debug2.png" style="zoom:30%" />
<img src="./../assets/LLVM-Debug3.png" style="zoom:30%" />
<img src="./../assets/LLVM-Debug4.png" style="zoom:30%" />
<img src="./../assets/LLVM-Debug5.png" style="zoom:30%" />
<img src="./../assets/LLVM-Debug6.png" style="zoom:30%" />
最后就可以加断点进行 Debug 了。但为了让调试更有意义,类似 `nm -a /Users/unix_kernel/Library/Developer/Xcode/DerivedData/LDExploreDemo-ehvvtxafpkdkubgrswvvsudzhqbb/Build/Products/Debug-iphonesimulator/LDExploreDemo.app/LDExploreDemo` 一样可以查看到更有意义的信息,可以在 Edit Scheme 面板中 `Run -> Arguments -> Arguments Passed On Launch` section 中的 **+** 点击,添加一些参数,如下图:
<img src="./../assets/LLVM-Debug7.png" style="zoom:30%" />
最后允许测试。注意LLVM 项目较大,可以选择顶部 "Product -> Perform Action -> Run Without Building".
## 用途
LLVM 的一些插件,比如 libclang、libTooling可以查看官方文档https://clang.llvm.org/docs/Tooling.html可以做一些**语法树解**