我们可以在线程中使用memcpy吗?

时间:2013-08-03 11:31:04

标签: android-ndk memcpy

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

0 个答案:

没有答案