heiher / hev-socks5-server

A high-performance socks5 server for Unix (Linux/Android/BSD/macOS/iOS)
MIT License
242 stars 39 forks source link

请问现在的版本 (v1.7.2) 是静态编译的吗? #6

Closed pexcn closed 5 years ago

pexcn commented 5 years ago

1.7.2 版本,我在一个 KVM 的 Debian 9 x86_64 的 VPS 上编译好了可执行文件,把它放到了 OpenVZ Debian 8 x86_64 的 VPS 也能正常运行。

另外请问怎样才能设置一些编译时候的 flag 呢?比如我想加一个 -O3 的编译优化参数。

pexcn commented 5 years ago

不好意思,看到了,在 https://github.com/heiher/hev-socks5-server/blob/master/Makefile#L9-L14 里面显示默认是 -O3, 而 LDFLAGS 里面的 -L ...... 就应该是静态链接了?

heiher commented 5 years ago

默认编译配置是:

  1. 底层协程库hev-task-system和INI配置解析库ini-parser是静态链接的。
  2. 标准C库及其它外部库是动态链接的。
  3. 采用编译器默认的指令架构,对于x86来说是通用的。

所以,只要链接的系统C库是两边兼容的,就可以共用同一个二进制文件。

heiher commented 5 years ago

如果是用于国内外通信,邮件联系,有另外的版本。

r[at]hev.cc

pexcn commented 5 years ago

默认编译配置是:

  1. 底层协程库hev-task-system和INI配置解析库ini-parser是静态链接的。
  2. 标准C库及其它外部库是动态链接的。
  3. 采用编译器默认的指令架构,对于x86来说是通用的。

所以,只要链接的系统C库是两边兼容的,就可以共用同一个二进制文件。

感谢解答,另外,能不能加一个编译选择让它完全静态编译呢?

如果是用于国内外通信,邮件联系,有另外的版本。

r[at]hev.cc

现在这个 socks5 服务端我仅仅是用来做 telegram 的内置代理,够用了,而且运行良好~😋

heiher commented 5 years ago

好的,已在1.7.3增加完全静态链接支持。

make ENABLE_STATIC=1
pexcn commented 5 years ago

感谢大佬 👍