1. 什么是 AR 环境变量?
在 macOS 终端执行 go env 命令时,会显示 Go 的所有环境变量配置,其中包含:
AR='ar'
AR:代表 “Archiver”,是 Go 工具链中用于处理静态库的打包工具。'ar':指向 Unix/Linux 系统中的ar命令,属于 GNU Binutils 工具集的一部分。
主要作用:将多个目标文件(.o 文件)打包成单个静态库文件(.a 文件),方便链接器使用。
2. 什么是 CC 环境变量?
CC='cc'
CC:代表 “C Compiler”(C 编译器),是 Go 工具链中用于编译 C 代码的编译器。'cc':在 Unix/Like 系统中通常是系统默认 C 编译器的符号链接。
在 macOS 上,cc 实际指向 clang 编译器。可以通过以下命令验证:
cc --version
Apple clang version 17.0.0 (clang-1700.4.4.1)
Target: arm64-apple-darwin25.1.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
主要作用:将 C 源代码文件(.c 文件)编译为目标文件(.o 文件),供后续链接或打包使用。