README.Watcom
上传用户:zhenyu
上传日期:2022-04-24
资源大小:268k
文件大小:2k
源码类别:

视频捕捉/采集

开发平台:

Visual C++

  1. Watcom compiler notes
  2. =====================
  3. Status
  4. ------
  5. Not yet usable. Although the library builds under Watcom it
  6. substantially fails the test suite.
  7. There is a working Wmakefile for wmake for the library build.
  8. invoke as any of:
  9. wmake -f Wmakefile clean WC
  10. wmake -f Wmakefile clean WC-inlined
  11. wmake -f Wmakefile clean WCE
  12. wmake -f Wmakefile clean WCE-inlined
  13. These build pthreadWC.dll and pthreadWCE.dll.
  14. There is a working Wmakefile for wmake for the test suite.
  15. invoke as any of:
  16. wmake -f Wmakefile clean WC
  17. wmake -f Wmakefile clean WCX
  18. wmake -f Wmakefile clean WCE
  19. wmake -f Wmakefile clean WC-bench
  20. wmake -f Wmakefile clean WCX-bench
  21. wmake -f Wmakefile clean WCE-bench
  22. Current known problems
  23. ----------------------
  24. Library build:
  25. The Watcom compiler uses a different default call convention to MS C or GNU C and so
  26. applications are not compatible with pthreadVC.dll etc using pre 2003-10-14 versions
  27. of pthread.h, sched.h, or semaphore.h. The cdecl attribute can be used on exposed
  28. function prototypes to force compatibility with MS C built DLLs.
  29. However, there appear to be other incompatibilities. Errno.h, for example, defines
  30. different values for the standard C and POSIX errors to those defined by the MS C
  31. errno.h. It may be that references to Watcom's threads compatible 'errno' do set
  32. and return translated numbers consistently, but I have not verified this.
  33. Watcom defines errno as a dereferenced pointer returned by the function
  34. _get_errno_ptr(). This is similar to both the MS and GNU C environments for
  35. multithreaded use. However, the Watcom version appears to have a number of problems:
  36. - different threads return the same pointer value. Compare with the MS and GNU C
  37. versions which correctly return different values (since each thread must maintain
  38. a thread specific errno value).
  39. - an errno value set within the DLL appears as zero in the application even though
  40. both share the same thread.
  41. Therefore applications built using the Watcom compiler may need to use
  42. a Watcom built version of the library (pthreadWC.dll). If this is the case, then
  43. the cdecl function attribute should not be required.
  44. Application builds:
  45. The test suite fails with the Watcom compiler.
  46. Test semaphore1.c fails for pthreadWC.dll because errno returns 0 instead of EAGAIN.