home *** CD-ROM | disk | FTP | other *** search
/ CD Shareware Magazine 1997 January / CD_shareware_1-97.iso / DOS / PRG / STRUC.ZIP / README.!!! < prev    next >
Encoding:
Text File  |  1996-02-17  |  3.5 KB  |  67 lines

  1. Hello Folks;
  2.  
  3. Here  is  my  first  update  to the archive that I recently presented. I've 
  4. fixed a couple of  the  errors that I recently found. I also added a couple
  5. more  things,  such  as  the  internal  stack, and a bit more documentation.
  6. These files  a  very  basic  example of interfacing C++ and assembler. I've 
  7. made use of  the Borland PowerPack in a very basic manner. I really haven't
  8. used  Borland's  32RTM for DPMI or their DPMI server for that long. However,
  9. with what little bit I have used it, I've found it really nice to work with.
  10. It's hard to crash, and has a ton of features.
  11.  
  12. In these files, I've tried to show a variety of  means of transferring data
  13. between a C++ and assembler module.  When  using  a memory model other than 
  14. "flat", of course "far" pointers should be used.  However  the basic layout
  15. of  the  structured  data should remain basically the same. When doing this
  16. type of transfer, keep  in  mind  the  fact  that  all the modules, will be 
  17. incorporated into one, once they are linked.  
  18.  
  19. You'll notice an  "oddity" amongst  these files,  called  "mak.bat". This is
  20. something that I've done for quite some time.  It's sort of a twisted way of
  21. doing a "Make". I work at the command line  a  lot,  and find it simpler for
  22. such an  "intermediate"  type  build  as  these  files require. I create the 
  23. mak.bat file with a simple echo of my command line(the first time) to a .bat 
  24. file of this or similiar name.
  25.  
  26. There are numerous ways  to  go about addressing the issues  that I've dealt  
  27. with here. These code samples  are an example of one of the ways that "I" go 
  28. about it. I feel that it's  certainly   a programmer's perogative to code in  
  29. their  own  fashion.  That  being  said,  don't  take the code that I've put 
  30. together  here, as being the  "standard"  or  even  what most might concider 
  31. the "proper" way to go about this type of thing. 
  32.  
  33. Since this code does run in protected  mode,   it will take a little while to
  34. load, so be patient. Borland's DPMI 32-bit RTM is required to be in your path 
  35. (it's  included in this archive) for these files to run. Doing  such  trivial 
  36. stuff as this, in protected mode is a bit silly.  I use it here as an example that 
  37. you can expand on.  I  also wanted show to those who might not be aware of it, 
  38. how seamlessly Borland's PowerPack products integrate with regular coding.
  39.  
  40. Some of the issues that I hope to deal with at a later date are:
  41.  
  42. 1.) Very basic means of accessing assembler from a "C" module (real mode), 
  43.      as well as the reverse of that.
  44.  
  45. 2.) Placing "main" in the assembler module, and then accessing the "C" module
  46.      from there.
  47.  
  48. 3.) More  "playing"  with  the  Power Pack,  as  far  as  transferring  huge 
  49.      buffers  between  assembler, C, C++,  and  disk  files. For  those  who 
  50.      haven't used the Power Packs virtual memory  functions, I'll try and do 
  51.      some of that too.
  52.  
  53. 4.) Accessing Class members of various type classes from an assembler module.
  54.  
  55. 5.) There  isn't  much  differenc  between  how  I've  done things here with
  56.      "simplified directives" and defining  one's own segments. I may do some
  57.      samples in that style at some point.
  58.  
  59. I don't really know  if  there  is too  much I can do with this subject, but 
  60. since there seems to be so many  questions regarding it in the open forum, I
  61. figured I'd give this a try. This is at  least something more complete, than 
  62. you might get  from  a  simple  response to a forum message.  It's something
  63. that can be viewed at one's leisure.
  64.  
  65. Good Luck!
  66. Tim Van Dusen
  67.