Bullet物理库中malloc期间的分段错误

时间:2018-11-15 16:19:55

标签: c++ segmentation-fault malloc bullet tdm-gcc

我的程序分段在malloc期间出错。

该故障实际上发生在Bullet Physics库内部,更具体地说是其对齐的分配器例程。但是,我不知道Bullet在这里有什么错。

当'malloc'分段错误出现时,这意味着什么?这是否应该发生?

代码(要复制的最小测试程序):

#include <iostream>

#include "btBulletDynamicsCommon.h"

int main()
{
    std::cout << "Hello World!" << std::endl;

    btDefaultCollisionConfiguration* cc = new btDefaultCollisionConfiguration();
    btCollisionDispatcher* cd = new btCollisionDispatcher(cc);
    btBroadphaseInterface* bi = new btDbvtBroadphase();
    btSequentialImpulseConstraintSolver* cs = new btSequentialImpulseConstraintSolver;

    btDiscreteDynamicsWorld* dynamicsWorld = new btDiscreteDynamicsWorld(cd, bi, cs, cc);

    std::cout << "Bye World!" << std::endl;

    delete dynamicsWorld;

    delete cs;
    delete bi;
    delete cd;
    delete cc;

    return 0;
}

Debug view in QtCreator

如您所见,malloc段中的“ ntdll.dll”子例程。错误。

我在Windows 7上使用TDM-GCC-64构建了Bullet库和此程序。

是否会发生这种情况,或者我的“ ntdll.dll”确实损坏了?

这实际上是子弹的错吗?

是否有其他人遇到过malloc段。有问题吗?

0 个答案:

没有答案