gpt4 book ai didi

c++ - 促进在现有 C 实现中使用 C++

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:57:18 27 4
gpt4 key购买 nike

最近我被分配了一项任务,为我的 C++ 代码提供 C 实现。由于原始代码很大,并且很大程度上依赖于 C 中不存在的结构,我想知道什么将是最简单的传输方式。

我读到有包装器允许在 C 中使用 C++?这些能让我简单地在 C 中复制/粘贴代码?

此外,我还探索了以下内容 http://attractivechaos.wordpress.com/2008/09/19/c-array-vs-c-vector/

您是否建议我如何在不做太多工作的情况下完成任务(很明显,因为代码已经写好了,只需要“转移”)?

最佳答案

然后,您可以编写一个包装器库,它使用所用对象和类的内部句柄。调用对象中方法的函数可能如下所示:

extern "C" int classname_methodname(int handle, int param1);

handle然后参数可以是 vector<classname> internal_classname 的索引.

实际功能,classname_methodname在我上面的示例中,只是从 vector 中获取对象并使用其参数调用对象中的方法。

要创建一个对象实例,你可以有一个 classname_create或类似的命名函数,它创建一个新实例,然后返回用于其他函数的句柄。

关于c++ - 促进在现有 C 实现中使用 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7953559/

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