Gio*_*hal 11 c++ portability portable-executable static-linking
好的,这个问题是关于便携式的,因为没有依赖关系(即"我可以将二进制文件放在USB密钥中,随身携带,发送给朋友等等").
我听说过静态连接,但我很困惑它的后果是什么; 什么可以和什么不能静态链接(即Qt,OpenGL,libstdc ++怎么样?)以及之后二进制将"可移植"的程度.
我也听说过LSB(Linux标准基础版),但我不确切地知道它是什么,或者它在这个意义上是否有帮助.
您不必以相同的方式链接所有库。我绝对会坚持动态链接libc和其他系统库。并对任何C ++使用静态链接;二进制API确实会不时更改,并且您需要确保该库的版本与针对其进行编译的版本相同-最可靠的方法是将库静态链接到您的可执行文件。如果您使用的任何其他库都是用C ++编写的,则可能要在本地编译它们,而不是使用预编译的发行版,以确保它们是针对相同的二进制API进行编译并静态链接的。C的二进制API是固定的,因此您拥有更大的自由度:如果该库将在每次安装中都存在,并且必须具有与操作系统版本兼容的版本,并且可以动态链接;否则,静态地。
| 归档时间: |
|
| 查看次数: |
5967 次 |
| 最近记录: |