如何制作可在不同代码库中重用的C“库”?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何制作可在不同代码库中重用的C“库”?相关的知识,希望对你有一定的参考价值。

我正在为一个学校项目工作,我认为我们可以在两个单独的项目中使用相同的代码。该代码本质上连接到主机上运行的套接字,该主机正在运行提供流量数据(x,y位置)的模拟器。这些位置被解析为一个结构:

struct Vehicle{
    Double x;
    Double y;
    int id;
    int type;
}

这些结构的列表将返回到实例化库的程序。因此,我想采用此代码,我必须解析数据并具有一个通用方法,该方法可以在每个事件(大约每1毫秒)发生之后将结构传递回调用方。我将如何去做?

更新:

我不清楚的部分是让库每x秒获取一次数据,然后将其传递给另一个相应更新的文件。因此,如果fileA是绘制位置的代码,并且fileB将数据解析为结构,那么我如何通过从fileA传回数据来更新fileB中方法中的画布(相对调用fileB中的某些方法来获取数据)。

答案

我将如何通过传递数据来更新fileA中方法中的画布从fileB返回(与在fileB中调用某些方法来获取数据)。

每次在文件B中准备好数据时,文件B中的代码都需要调用文件A中的方法,然后使用被调用的方法将数据传递到文件A中。

被调用的fileA方法可以是硬编码的(始终相同),或者在启动时fileA中的代码可以调用fileB方法,并在数据准备好时传递应该由fileB调用的函数-这称为“回调”

以上是关于如何制作可在不同代码库中重用的C“库”?的主要内容,如果未能解决你的问题,请参考以下文章

如何将C / C ++库代码封装为可在具有多个实例的单独线程中运行?

Kotlin 通用库可在多个 MPP 中重用

条件片段和导航重用

从汇编代码调用库中的 C 函数

在 zxing 片段库中打开/关闭手电筒

如何实现打印功能?