本帖最后由 xf_21 于 2011-04-26 22:46:51 编辑

解决方案 »

  1.   

    我重建了2010工程,把代码挪过去,设置好编译选项,编译通过,能调试,但执行处某处时出现“内存读写错误”的提示。很郁闷,出错函数及语句如下:
    int thread_joins()
    {
    monitor_clean_node *curnode; while(1)
    {
    pthread_mutex_lock( &cq_Monitor.control.mutex );
    while( cq_Monitor.clean.head == NULL )
    {
                            //执行完这条语句就出问题
    pthread_cond_wait(&cq_Monitor.control.cond, &cq_Monitor.control.mutex);
    } curnode = (monitor_clean_node*) queue_get( &cq_Monitor.clean);
    pthread_mutex_unlock( &cq_Monitor.control.mutex ); pthread_join(curnode->tid, NULL); free(curnode);
    curnode = NULL;
    } pthread_mutex_destroy(&cq_Monitor.control.mutex);
    pthread_cond_destroy( &cq_Monitor.control.cond ); return 0;
    }
    求大神解释!
      

  2.   

    项目用的是pthreads-w32-2-7-0,会不会这个库是依赖于2008的运行时的,而整个项目是依赖于2010的,使得这个库不能发挥作用了?
      

  3.   

    我知道了,原来是由于ICE版本不支持VS2010的原因。
    结贴了!那位要分,随便回复一下就结了!
      

  4.   

    好像你发过一篇这样的帖子了毕竟论坛里关注ICE的人很少