您现在的位置是:首页 >技术交流 >golang交叉编译到mips平台代码参数解释网站首页技术交流

golang交叉编译到mips平台代码参数解释

y_onghuming 2024-06-17 10:32:11
简介golang交叉编译到mips平台代码参数解释

例如:

go build -ldflags="-s -w" -o your_binary -v -tags netgo -installsuffix netgo -ldflags '-extldflags "-static"' -a -x -v -ldflags '-w -s -linkmode external -extldflags "-static -lpthread"'

  1. `-ldflags="-s -w"`:这个参数用于在编译时添加链接标记,将生成的二进制文件的可执行文件及符号表信息尽可能地减小,以达到精简文件大小的目的;
  2. `-o your_binary`:这个参数指定生成的可执行文件的名称;
  3. `-v`:这个参数用于在编译时显示更详细的信息;
  4. `-tags netgo`:这个参数用于编译带有`net`标记的包;
  5. `-installsuffix netgo`:这个参数用于指定二进制文件中包含的库文件名后缀;
  6. `-ldflags '-extldflags "-static"'`:这个参数用于指定编译期间连接器的选项,以生成静态链接的二进制文件;
  7. `-a`:这个参数用于强制重新编译所有的包;
  8. `-x`:这个参数用于输出编译期间所用到的命令;
  9. `-w -s -linkmode external -extldflags "-static -lpthread"`:这个参数用于链接器`ld`的配置,其中`
    1. -w` 表示关闭编译器的警告信息
    2. `-s` 表示禁止符号表信息
    3. `-linkmode external` 表示使用外部链接模式,
    4. `-extldflags "-static -lpthread"`表示以静态链接方式编译二进制文件,同时需要添加`lpthread`库。这个参数的主要作用是让生成的二进制文件能在没有安装相关依赖库的情况下运行。
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。