在嵌入式工程里,经常会遇到两种静态库场景:
- 作为 Producer:把自己的源码编译成
.a,交给其他团队或第三方集成; - 作为 Consumer:拿到供应商提供的
.a,再链接进自己的 ECU 工程。
两种场景其实是同一条构建链的两端。
本文结合 TC397 + TASKING + AUTOSAR Classic 工程,完整梳理:
.c
│
│ Compile
▼
.o
│
│ Archive
▼
.a
│
│ Link
▼
ELF
│
▼
HEX / ECU
本文关注 Compile、Archive、Link 三个阶段的职责,以及嵌入式静态库交付给第三方时需要满足的条件。
原创大约 10 分钟