Я пишу простую программу на C++ для копирования данных из буфера в выделенную ячейку памяти. Всякий раз, когда буфер обновляется, я запускаю следующий цикл:Копия памяти через указатели иногда пропускает данные
tempPtr= (u64 *) buffer;
for (j=0; j<buffer_length; j++){
destinationPtr[i+j]=buffer[j];
}
i=i+j;
Проблема заключается в том, иногда этот код работает отлично, а иногда он пропускает куски данных. Я не знаю, что здесь происходит. Любая помощь будет оценена.
Я не могу использовать memcpy, потому что я запускаю код на FPGA, а memcpy имеет низкую производительность на FPGA ... –
Проблемы с выравниванием? –
Нарушение псевдонимов, тип punning и неопределенное поведение? –