我想设计一个C API,它在一个库中提供自己的几个版本.
我遇到了Foundation DB C API的描述,但由于FoundationDB源代码不再可用,我无法弄清楚他们是如何做到的.我知道的所有其他库在给定版本的库中提供一个API,并且必须链接到特定版本以获得所需的API.
我完全清楚支持旧的API版本是一个主要的麻烦,我将尝试第一次正确的API,但由于这个API分布在几乎没有维护可能性的地理分布式系统上,我仍然希望能够只更新我的图书馆没有打破其他软件.
使用面向对象的语言,任务更容易/更简单(取决于语言),但对于C?