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 文件),供后续链接或打包使用。


3. 什么是 CGO_CFLAGS 环境变量?