我想写一个播放MP3的C ++程序。在可用的MP3解码库中,我选择了mpg123。
我注意到,除了能够链接libmpg123并在我的代码中进行必要的函数调用之外,该库还包含一个后端/前端接口,使我能够与它的可执行文件进行通信,因此不需要在我的程序中包含它的代码。
编写前端而不是简单地链接到库有什么好处?
答案 0 :(得分:6)
大多数优势来自可执行文件和库可执行文件之间的进程分离:
当然,使用外部通信渠道会降低性能。但是,这种脱钩的好处可能会令人印象深刻。
答案 1 :(得分:1)
答案 2 :(得分:0)
据我所知,可执行文件的唯一用途是用于测试目的。您可以将此第三方库作为可执行文件运行,以了解所提供的各种API的行为,以便您可以更好地了解其在代码中的使用情况,并了解它们如何使用各种输入。之后,您将它链接到您的流程,以便库调用在您的流程的地址空间内。如果你只是同时运行2个可执行文件,那么你也会有IPC开销。