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;
}如果你注释掉“file”,那么向量就没问题。但是一旦你把FIL结构放回原处,它就会破坏向量。
接下来奇怪的是,如果我要创建另一个向量,然后返回,使用它作为函数的返回对象。原始向量变得很好,但是新返回的向量变得损坏了。
我是c++的新手,所以我需要一些关于如何诊断这个问题的指导。
提前谢谢。
发布于 2017-05-08 04:56:56
你实现caddr_t sbrk(int incr)了吗?如果不是,这可能就是问题所在。
https://stackoverflow.com/questions/43600351
复制相似问题