gpt4 book ai didi

c - 在 Unix 中编程 : Sharing libraries with libraries

转载 作者:行者123 更新时间:2023-12-01 13:07:17 26 4
gpt4 key购买 nike

在 unix 之上使用 C 语言工作,我正在加载和使用共享库,如下所示:

...

handle = dlopen("nameOfLib");

...

libInit();

...

libGoToState1();


libGoToState2();


....

libTerminate();

...

dlclose(handle);

...

我希望我的应用程序能够接受“插件”,这些插件采用遵循给定 API 的动态可加载库的形式。

棘手的部分是我想在调用 libInit() 之后加载一个插件,并且我希望该插件能够调用 libGoToSomeOtherState(),从而改变状态库,但使用与加载它的应用程序相同的“ session ”。

如有任何关于我需要如何对此进行编码的想法,我们将不胜感激。

具体来说,插件和主程序的 .c 文件需要什么才能共享库实例、状态和所有内容?

最佳答案

我不确定这是否正是您要找的,但是几天前在 reddit 上发布了一篇关于如何为 C 程序创建简单插件的文章:

http://thisxorthat.blogspot.com/2010/01/choose-indecision-simple-plugins-in-c.html

关于c - 在 Unix 中编程 : Sharing libraries with libraries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2111173/

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