内容纲要
我在函数中使用了
// Frame 不为野指针或 nullptr
uint8* Data = new uint8[Frame->nb_samples * 4 * 2];
后,UE调用了new运算符重载函数,重载函数执行了
FMallocMimaloc::Malloc(SIZE_T Size, uint32 Alignment)
此函数调用了 TryMalloc(Size, Alignment) 后。
调用栈显示在 return NewPtr; 的时候发生报错,原因未知。
同时我使用
TArray<uint8> Data;
Data.Init();
Data.SetNumZeroed();
等函数,在为TArray分配内存时依然会导致程序崩溃。
最后我使用了 FMemory::Malloc() 成功进行了内存分配并且没有崩溃。
猜想一:由于未知的内存分配问题导致崩溃,但是FMemory使用了相较于FMalloc更高级的内存分配机制和抽象管理,让内存分配变得更安全了。(待翻看源码验证)
你这也太菜了吧,这么简单都不会,我拿脚指头做都比你厉害
喷又不给解释,好想他会以为
一般只有底层酸民才会这样毫无根据的喷吧
就你这技术给你解释都是浪费我时间