我正在写一个DLL,里面定义了一个公共变量char* msg;
char* msg;
int func1()//由主线程调用并把一个字符串复制进msg里面
{
   strcpy(msg,"i am a new client");
}
int func2()//由主线程调用并创建一个新线程,新线程会把一个字符串复制进msg
{
   //此处创建一个新线程并调用func3
}
int func3()
{
  strcpy(msg,"i am a new client");
}
问题是这样的,如果直接用主线程调用strcpy把字符串复制进msg没有问题,但是当开一个新线程执行strcpy的时候,就会出现"尝试读取或写入受保护的内存"这样的错误.
是什么原因,要怎么解决?