2017-04-25 75 views
0

STM32F7,GCC,FatFSFatFs-FIL结构导致内存损坏 - STM32F7

以下代码破坏retVal。如果您注释掉“FIL文件”,那么向量是好的(例如,向量只有一个对象创建的,但是当你检查它有一个荒谬的量)

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

    FIL file; 

    retVal.push_back(0xFE); 

    asm("nop"); 

    return retVal; 
} 

。但是一旦你把FIL结构放回来,它就会破坏向量。

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

我对C++很陌生,所以我需要一些关于如何诊断这个问题的指导。

在此先感谢。

回答

0

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