ldflags在golang编译中的2个作用

golang在编译的时候,可以传入一些参数,其中有 -ldflags 参数,这个参数的官方解释如下:

-ldflags 'flag list'
    arguments to pass on each 5l, 6l, 8l, or 9l linker invocation.

意思大概是:这个参数将影响链接这个过程。

对于链接所涉及的一些相关概念,请参考这篇文章静态链接,动态链接,静态库,共享库这些概念的详解

第一个用法

ldflags用于链接过程,这个具体的用法,这篇文章写得非常到味,比我写得好,我就不再写了,大家可以到这里查看,也谈Go的可移植性

第二个用法

ldflags在编译golang的时候,可以传入一些值用来配置golang的应用。这个用法简单,可以查看 golang在编译时用ldflags设置变量的值

第二个用法目前大多数用于应用程序的版本信息,本人认为第二个用法在应用程序假如有配置文件的话,那就没有太多意义了,完全可以用配置文件来替代这个功能。但是假如只是一个纯净的应用程序,没有配置文件的话,这个用法相当有意思了。

发表评论

邮箱地址不会被公开。 必填项已用*标注