【问题标题】:How can I add data structures to dynamic link libraries in c++如何在 C++ 中将数据结构添加到动态链接库
【发布时间】:2015-07-18 22:33:35
【问题描述】:

我正在为一些图形应用程序开发 DLL,我想在其中添加一些数据结构,我应该怎么做?我需要能够在库函数中使用这些结构,并能够在使用该库的应用程序中使用该数据类型。

【问题讨论】:

  • #define VECTOR ( struct vector_3D){float x = 0, y = 0, z = 0} 甚至是有效的预处理器宏吗?
  • 当我为特定的可执行文件构建标头时,它在不同的实例中工作,然后它工作,但是如果你知道一个更好的方法来正确链接它,我知道在这里做什么无论如何,我只是想向库中添加一个变量类型,这就是我想出的......
  • @Creris:是的,宏定义是有效的,VECTOR 后面的空格使它成为一个无参数的宏,只是扩展了那一堆代码。但是,该代码没有太多意义......

标签: c++ dll struct linker libraries


【解决方案1】:

您正在混合命名空间和类。在你的 CPP 中你应该写:

namespace RE_Math
{
    float REM_Funcs::vector_length(vector_3D v)
    {
        return sqrt((v.x * v.x) + (v.y * v.y) + (v.z * v.z));
    }
}

等等……

顺便说一句,在谈论编程语言时,您应该更准确地使用该语言:您正在定义一个具有一些成员函数的类,而不是常量结构......

【讨论】:

  • 这只是冰山一角,我什至不会考虑他的问题的其他问题。更不用说 EPIC 问题的标题了。
  • 不好意思问了个坏问题,我有点累了,想尽快完成第一部分,我的日程安排很紧,但感谢您的提醒: )
  • @sehe:是的,你是对的,我认为除了 C++ 语言之外,英语语言可能还有一些困难。我不是以英语为母语的人,所以我很同情。无论如何,我的解释是这个问题可能是针对这个特定问题的。
  • @TheReapersHound 我只是想知道是什么导致你在谈论 C++ 时甚至输入 const struct
  • @TheReapersHound:认为你在复制和粘贴大量代码时并不真正知道自己在做什么,也不了解该语言的基本语法。即使你让它编译它也可能不会像你想象的那样做。
猜你喜欢
  • 2021-04-01
  • 2020-10-01
  • 2015-02-06
  • 2016-11-17
  • 2014-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多