gpt4 book ai didi

c++ - 尼姆 FFI : Using existing type to wrap a C++ type

转载 作者:行者123 更新时间:2023-11-30 17:08:12 25 4
gpt4 key购买 nike

我正在为 Box2D 组装 Nim 包装器使用c2nim .

Box2D 有自己的数学 vector 类 b2Vec2 。如果我在原始 C++ 中使用 Box2D,我只会使用该类。简单。

但是 Nim 已经在 basic2d 中拥有这样的功能模块的Vector2d类型。

我希望我的包装器的界面使用内置的 Vector2d 类型,以便该包装器的用户不必在心里纠结两种不同的 vector 类型。这需要以某种方式使用 Vector2d 作为 b2Vec2 的 Nim 接口(interface)。 我该怎么做?

注意事项:

  • b2Vec2Vector2d 都仅由两个 32 位 float 组成。 I错了。 Nim float 是 64 位。
  • Vector2d 是 Nim 标准库的一部分,因此我无法修改其定义。
  • 如果有必要,我会为 b2Vec2 创建一个包装器,但我想避免这样做,而且我绝对不希望用户看到它。

最佳答案

实际上,我似乎无法做到这一点,至少在 basic2d.Vector2db2Vec2 之间无法做到。前者由两个64位 float 组成,后者由两个32位 float 组成。

关于c++ - 尼姆 FFI : Using existing type to wrap a C++ type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33789764/

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