Как определить глобальный буфер структуры для двух потоков - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть два класса в Qt, класс Producer и класс Consumer.У меня есть структура, которая находится в классе Producer.Я хочу сохранить эту структуру в буфере, который является глобальным и определен в global1.h.Позже класс Consumer использует этот буфер.Класс Producer и Consumer работают как два потока.

В Producer.cpp

       msg_t msg; // This is the struct (the items of the struct are defined in another file which its header has been included)

       //In the function which runs as thread we have:
         memcpy(&global::Buff_msg[ii], &msg, 1*sizeof( msg_t));

В global1.h

namespace global
{
 extern  msg_t* Buff_msg;
 }

В global1.cpp

#include "global1.h"

namespace global
  {
  msg_t* Buff_msg=(msg_t*) malloc(1000 * sizeof(msg_t));
}

Но global::Buff_msg[ii] на стороне потребителя - все нули.Кто-нибудь может помочь?

Заранее спасибо.

...