gpt4 book ai didi

c - 为什么vlc隐藏结构定义

转载 作者:太空宇宙 更新时间:2023-11-04 06:50:16 24 4
gpt4 key购买 nike

我在 vlc 代码库中看到了下面的代码。

/** This structure is opaque. It represents a libvlc instance */
typedef struct libvlc_instance_t libvlc_instance_t;

我在想为什么结构定义被隐藏了。据我所知,它是一个开源项目,为什么选择开源整个项目而选择隐藏部分代码?

最佳答案

它不是隐藏的,因为他们希望它是 secret 的。它是隐藏的,因为它是一个实现细节。

开源和其他项目使用不透明结构和其他机制来实现封装和实现隐藏,以确保软件版本之间一定程度的 API 兼容性。例如,在有插件架构的情况下,主要软件的作者希望即使插件更改了主要软件,插件也能够在不修改的情况下继续工作。因此,他们以允许将来进行此类更改的方式隐藏了实现细节。

如果没有此类技术,插件和主机软件之间的集成将很脆弱,并且可能导致版本之间不兼容。

关于c - 为什么vlc隐藏结构定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52564933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com