FatFs - FIL Struct导致内存损坏 - STM32F7

时间:2017-04-25 01:57:38

标签: c++ gcc vector fatfs stm32f7

STM32F7,GCC,FatFS

以下代码会破坏retVal。 (例如,向量仅使用一个对象创建,但在检查时它具有荒谬的数量)

std::vector<uint8_t> SDManager::Test()
{
    std::vector<uint8_t> retVal(1);

    FIL file;

    retVal.push_back(0xFE);

    asm("nop");

    return retVal;
}

如果您注释掉“FIL文件”,那么矢量就可以了。但是只要你把FIL结构放回去玩,它就会破坏向量。

下一个奇怪的事情,如果我要创建另一个向量,然后返回使用它作为函数返回对象。原始向量变得很好,但是新返回的向量会被破坏。

我对c ++很新,所以我需要一些如何诊断这个问题的指导。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您是否已实施caddr_t sbrk(int incr)? 如果不是这可能是问题。