gpt4 book ai didi

c - c中的插件架构类型

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

可以使用 2 种技术(AFAIK)在 C 语言中设计插件:

  1. 一直使用 dlopen():核心代码要求库中的所有函数都有一个已知的名称和原型(prototype)。它 dlopen()s 库并通过 dlsym() 获取所有函数指针
  2. 保留一个公开的已知函数,该函数采用一个结构,该结构由插件实现的函数填充。这个函数是通过dlsym()得到的,一开始就调用一次。

您认为哪种技术更好,为什么?如果有任何其他方法,请提及。

最佳答案

我更喜欢第二种方式,因为它会容易得多:

  • 加载您的插件:它只需要一次调用 dlsym,而不是几十次

  • 处理您的插件:您可以使用函数指针传递结构。而不是传递数十个函数或在框架中构建这样的结构以便传递它。

请记住,更简单意味着更不容易出错。

关于c - c中的插件架构类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4915227/

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