c ++加载外部类exe

时间:2017-03-27 04:27:15

标签: c++ ubuntu game-engine glut

我正在制作游戏引擎,但我似乎碰到了一堵墙。我想将游戏引擎作为exe分发给开发人员,然后加载他们的文件。内部对象存储为:

class Gameobject
{
    Vector position;
    virtual void Update(){}
    virtual void Render(){}
}

std::vector<GameObject*> gameobjects;

我希望开发人员只做

class ClassForGame: public GameObject
{
    void Update(){}
    void Render(){}
}

并添加到列表

gameobjects.push_back(new ClassForGame());

但我希望他们在一个单独的文件中执行此操作,以便文件结构为:     
MyGameEngine.exe Game.cpp

如何加载文件及其类以便使用它们?

我正在使用g ++,Ubuntu和过剩,如果有帮助我宁愿不使用任何外部库。
他们如何将他们的文件编译成我的exe,以便他们可以分发他们的游戏?我确实认识到这是两个不同的问题。

2 个答案:

答案 0 :(得分:1)

引擎应该像库一样分发,而不是像可执行文件一样。

答案 1 :(得分:0)

首先,您应该了解流程地址空间,以便了解流程的工作原理。

我认为您想制作一个游戏引擎SDK,开发人员可以从中调用API来制作自己的项目。

SDK可以作为dll或lib发布,因此您应该了解它们之间的区别。