?? readme.watcom
字號:
Watcom compiler notes=====================Status------Not yet usable. Although the library builds under Watcom itsubstantially fails the test suite.There is a working Wmakefile for wmake for the library build.invoke as any of:wmake -f Wmakefile clean WCwmake -f Wmakefile clean WC-inlinedwmake -f Wmakefile clean WCEwmake -f Wmakefile clean WCE-inlinedThese build pthreadWC.dll and pthreadWCE.dll.There is a working Wmakefile for wmake for the test suite.invoke as any of:wmake -f Wmakefile clean WCwmake -f Wmakefile clean WCXwmake -f Wmakefile clean WCEwmake -f Wmakefile clean WC-benchwmake -f Wmakefile clean WCX-benchwmake -f Wmakefile clean WCE-benchCurrent known problems----------------------Library build:The Watcom compiler uses a different default call convention to MS C or GNU C and soapplications are not compatible with pthreadVC.dll etc using pre 2003-10-14 versionsof pthread.h, sched.h, or semaphore.h. The cdecl attribute can be used on exposedfunction prototypes to force compatibility with MS C built DLLs.However, there appear to be other incompatibilities. Errno.h, for example, definesdifferent values for the standard C and POSIX errors to those defined by the MS Cerrno.h. It may be that references to Watcom's threads compatible 'errno' do setand return translated numbers consistently, but I have not verified this.Watcom defines errno as a dereferenced pointer returned by the function_get_errno_ptr(). This is similar to both the MS and GNU C environments formultithreaded use. However, the Watcom version appears to have a number of problems:- different threads return the same pointer value. Compare with the MS and GNU Cversions which correctly return different values (since each thread must maintaina thread specific errno value).- an errno value set within the DLL appears as zero in the application even thoughboth share the same thread.Therefore applications built using the Watcom compiler may need to usea Watcom built version of the library (pthreadWC.dll). If this is the case, thenthe cdecl function attribute should not be required.Application builds:The test suite fails with the Watcom compiler.Test semaphore1.c fails for pthreadWC.dll because errno returns 0 instead of EAGAIN.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -