我用BCB55写多线程,为什么编译的时候提示_beginthread()没有定义,初学多线程,谢谢请帮忙解决这个问题!

解决方案 »

  1.   

    #include <process.h>typedef unsigned (__stdcall *PTHREAD_START) (void *);#define chBEGINTHREADEX(psa, cbStack, pfnStartAddr, \
    pvParam, fdwCreate, pdwThreadID)                 \
    ((HANDLE) _beginthreadex(                     \
    (void *) (psa),                            \
    (unsigned) (cbStack),                      \
    (PTHREAD_START) (pfnStartAddr),            \
    (void *) (pvParam),                        \
    (unsigned) (fdwCreate),                    \
    (unsigned *) (pdwThreadID)))          DWORD dwThreadID = 0;
    HANDLE hThread = chBEGINTHREADEX(0,0,ThreadFunc,(LPVOID)(this),0,&dwThreadID);这是从经典的Windows核心编程里考出来的。
      

  2.   

    _beginthread,_beginthreadex,都在process.h里定义,AfxBeginThread在afxwin.h定义
      

  3.   

    你用的是BCC55 command line tool? 你去google.com.