我正在尝试用一个C程序实现一个插件系统。插件将被编译为共享库,并在编译期间链接。
假设我有一个单链表结构定义:
struct plugin_iface
{
int data,
struct plugin_iface* next
};
每个插件创建此结构的全局实例,所有这些实例都具有相同的名称:
struct plugin_iface IfaceList =
{
.data = 42,
.next = &IfaceList
} // Defined in the global scope in each plugin
正如我所料,next指向了它的父级-