0
STM32F7、GCC、FATFSFatFsでは - FIL構造体が破損したメモリの原因 - STM32F7
次のコードは、RETVALが破損します。 (例えば、ベクターは、1つのオブジェクトのみを使用して作成していますが、それは不合理な量を持っている点検時にされて)
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++には新しく、この問題の診断方法に関するガイダンスが必要です。
ありがとうございます。