0

我们可以使用 memcpy 将数据从线程复制到类成员吗?

struct x
{
x_state *pState;
x_unit m_input;
x_unit m_out;
};

struct x_buffer
{
int x;
int y;
int z;
int t;
char* buf;
} ;
class xyz{
public:
    static THREAD_FUNC void ThreadFunc(void* arg);
    static CALL_BACK void handle_thread_data(struct Session* session, event *e);
public
    x_buffer *m_buffer;
y_struct *m_strt1, *m_strt2;
}

m_buffer , m-str1,m_str2 通过调用 malloc 在类构造函数的堆上创建。当我启动线程时,handle_thread_data 是调用的回调。我正在尝试使用 memcpy 将我的数据从会话对象复制到 m_buffer。但我快崩溃了。下面是回溯。

  #00  pc 0000e2f0  /system/lib/libc.so
  I/DEBUG   (  100):     #01  pc 00039cad  /system/lib/libc.so (memcpy+26)

如果 m_buffer 是全局缓冲区,代码工作正常。

4

0 回答 0