2017-04-25 5 views
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++には新しく、この問題の診断方法に関するガイダンスが必要です。

ありがとうございます。

答えて

0

caddr_t sbrk(int incr)を実装しましたか? これが問題になる場合があります。

関連する問題