I'm almost certain that you are confusing pack with ar (which is uncompressed archive format, in contrast to tar it is designed such that file can be extracted without reading whole archive).
ar is used as format of .a/.lib files by almost all C compilers (IIRC even by MSVC). Libraries are simply archives of .o files, on some platforms with additional symbol->file index, which is what is added by running .a through ranlib.
Yup! You are correct. Confusing it due to being recently exposed to `pack` which is a binary in the go toolchain that happens to interact with ar archives.
ar is used as format of .a/.lib files by almost all C compilers (IIRC even by MSVC). Libraries are simply archives of .o files, on some platforms with additional symbol->file index, which is what is added by running .a through ranlib.