我们可以使用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是全局缓冲区,代码工作正常。