0

我正在开发一个需要一些数学的 3d 游戏引擎,但我想通过将数学放入库来更好地调整我的代码。现在我正在使用一个名为“DataTypes.hpp”的头文件,它包含我的引擎需要的所有结构和数据类型。这还包括我的数学文件“VMMath.hpp”(它用作包装器),在这里我包括我的向量、矩阵和四元数类的其他四个头文件。

我的方法是我希望 DataTypes 成为一个预编译的头文件,并且 VMMath 代码成为一个库(静态或 dll,老实说我不确定哪个)。那时我不必将 DataType 标头放在所有 VMMath 源中,并减少项目的相关源文件。

从我所见,一个库必须是一个标头和源,它使用 extern 或 static 关键字,因此标头可以使用源中的方法。MSDN 上的示例显示了命名空间中的一个类,它没有带有静态方法的构造函数/析构函数。但我发现真正向您展示它的能力有点短。

那么是否可以从这种文件结构创建一个库:

<-项目目录->

  • (其他来源/文件夹)

  • 数学数学

    -- VMMath.hpp

    • 数学

      -- CVector2.hpp

      -- CVector2.cpp

      -- CPoint2.hpp

      -- CVector3.hpp

      -- CVector3.cpp

      -- CPoint3.hpp

      -- CVector4.hpp

      -- CVector4.cpp

      -- CMatrix3.hpp

      -- CMatrix3.cpp

      -- CMatrix4.hpp

      -- CMatrix4.cpp

      -- CQuaternion.hpp

      -- CQuaternion.cpp

我希望这是有道理的。所以我可以看到这个工作的一种方法是让 VMMath.hpp 里面有所有的类,并且 VMMath.cpp 包含所有的类源,但这不是很容易维护。或者我必须将每个类作为单独的 dll 吗?

这是我读过的 codeproject 的一篇文章,但它没有显示包含多个文件的 dll:http: //www.codeproject.com/Articles/6351/Regular-DLL-Tutor-For-Beginners

我希望我说清楚了,如果我产生了太多的阅读,请原谅。

4

1 回答 1

1

对于任何类型的库,头文件或源文件的数量都没有限制。

于 2012-09-12T18:39:41.547 回答