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

视频捕捉/采集

开发平台:

Visual C++

  1. In ptw32_InterlockedCompareExchange.c, I've added a section for
  2. Borland's compiler; it's identical to that for the MS compiler except
  3. that it uses /* ... */ comments instead of ; comments.
  4. [RPJ: need to define HAVE_TASM32 in config.h to use the above.]
  5. The other file is a makefile suitable for use with Borland's compiler
  6. (run "make -fBmakefile" in the directory).  It builds a single version
  7. of the library, pthreadBC.dll and the corresponding pthreadBC.lib
  8. import library, which is comparable to the pthreadVC version; I can't
  9. personally see any demand for the versions that include structured or
  10. C++ exception cancellation handling so I haven't attempted to build
  11. those versions of the library.  (I imagine a static version might be
  12. of use to some, but we can't legally use that on my commercial
  13. projects so I can't try that out, unfortunately.)
  14. [RPJ: Added testsBmakefile as well.]
  15. Borland C++ doesn't define the ENOSYS constant used by pthreads-win32;
  16. rather than make more extensive patches to the pthreads-win32 source I
  17. have a mostly-arbitrary constant for it in the makefile.  However this
  18. doesn't make it visible to the application using the library, so if
  19. anyone actually wants to use this constant in their apps (why?)
  20. someone might like to make a seperate NEED_BCC_something define to add
  21. this stuff.
  22. The makefile also #defines EDEADLK as EDEADLOCK, _timeb as timeb, and
  23. _ftime as ftime, to deal with the minor differences between the two
  24. RTLs' naming conventions, and sets the compiler flags as required to
  25. get a normal compile of the library.
  26. [RPJ: Moved errno values and _timeb etc to pthread.h, so apps will also
  27. use them.]
  28. (While I'm on the subject, the reason Borland users should recompile
  29. the library, rather than using the impdef/implib technique suggested
  30. previously on the mailing list, is that a) the errno constants are
  31. different, so the results returned by the pthread_* functions can be
  32. meaningless, and b) the errno variable/pseudo-variable itself is
  33. different in the MS & BCC runtimes, so you can't access the
  34. pthreadVC's errno from a Borland C++-compiled host application
  35. correctly - I imagine there are other potential problems from the RTL
  36. mismatch too.)
  37. [RPJ: Make sure you use the same RTL in both dll and application builds.
  38. The dll and tests Bmakefiles use cw32mti.lib. Having some trouble with
  39. memory read exceptions running the test suite using BCC55.]
  40. Best regards,
  41. Will
  42. -- 
  43. Will Bryant
  44. Systems Architect, eCOSM Limited
  45. Cell +64 21 655 443, office +64 3 365 4176
  46. http://www.ecosm.com/