home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / sys / amiga / programm / 12454 < prev    next >
Encoding:
Text File  |  1992-08-19  |  5.1 KB  |  111 lines

  1. Path: sparky!uunet!ogicse!uwm.edu!rutgers!concert!sas!mozart.unx.sas.com!walker
  2. From: walker@twix.unx.sas.com (Doug Walker)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Re: SAS/C 6.0 Details (LONG!)
  5. Message-ID: <Bt8H7F.BL8@unx.sas.com>
  6. Date: 19 Aug 92 13:52:27 GMT
  7. Article-I.D.: unx.Bt8H7F.BL8
  8. References: <BsxCu2.5A7@unx.sas.com> <1992Aug18.203629.22286@fcom.cc.utah.edu>
  9. Sender: news@unx.sas.com (Noter of Newsworthy Events)
  10. Organization: SAS Institute Inc.
  11. Lines: 96
  12. Originator: walker@twix.unx.sas.com
  13. Nntp-Posting-Host: twix.unx.sas.com
  14.  
  15.  
  16. In article <1992Aug18.203629.22286@fcom.cc.utah.edu>, val@news.ccutah.edu (Val Kartchner) writes:
  17. |> I'm looking forward to all of this.  Can a plain non-developer type get
  18. |> AmigaGuide to develop (shareware/freeware) with?
  19.  
  20. I'm sure that you could get AmigaGuide and develop hypertext documents,
  21. but I'm not so sure that you would be allowed to redistribute it
  22. freely.  In order to distribute amigaguide.library, we signed an
  23. addendum to the WorkBench license agreement that we have signed
  24. with Commodore that allowed us to do so.
  25.  
  26. |> : You can designate autoinitialization functions that you want the startup
  27. |> : code to call automatically before it calls your main routine.  You can
  28. |> : also designate autotermination functions that you want the termination
  29. |> : code to call after main returns.
  30. |> : 
  31. |> This is beginning to sound like C++.  When will SAS be releasing their C++
  32. |> compiler. (I may wait or I may go with G++.)
  33.  
  34. The SAS/C++ project is still alive, but we are more than a year from
  35. shipping at this point.  We are doing our own C++ translator in-house,
  36. and that will be ready 4Q92; we then must port it to the Amiga, make
  37. the necessary changes in CPR and the other tools, write the Amiga-
  38. specific parts of the documentation, and so forth.  This is no small
  39. project, so please don't take my "more than a year" statement as
  40. meaning it will be ready in September '93 - the fact is that we just
  41. don't know when it will be ready, so there is currently no schedule
  42. for it.
  43.  
  44. |> : System library bases that are not defined in your code are automatically
  45. h|> : opened and initialized.  This means that you do not need to explicitly
  46. |> : call OpenLibrary to initialize libraries such as intuition.library,
  47. |> : graphics.library, and others.
  48. |> : 
  49. |> What exactly does this mean?  Does this mean that ALL Commodore provided
  50. |> libraries will be openned and initialized, or ALL libraries currently
  51. |> residing in the libs: directory, or something else?  This will take up a
  52. |> lot of memory even if I don't need these libraries.
  53.  
  54. If you declare a library base but do not define it, like this:
  55.  
  56.    extern struct IntuitionBase *IntuitionBase;
  57.  
  58. then the definition for that library base gets pulled in from the link
  59. library.  This also happens in V5.x.  However, in V6.0, there are two
  60. FUNCTIONS defined in the same module as IntuitionBase - one is an
  61. autoinitialization function that gets run before main(), one is an
  62. autotermination function that gets run after main().  The first one
  63. opens intuition.library, the second one closes it.
  64.  
  65. Therefore, your code never opens a library base that it has not 
  66. declared.  If you never declare IntuitionBase, intuition.library is
  67. not opened.
  68.  
  69. Also, some people actually DEFINE the library bases:
  70.  
  71.    struct IntuitionBase *IntuitionBase;
  72.  
  73. In this case, the symbol is already satisfied at link time and the
  74. linker doesn't need to pull the version in the link libraries
  75. into your program.  Therefore, the autoinit/autoterm code is not
  76. pulled in.
  77.  
  78. One further note:  the autoinit/autoterm functions use a static
  79. variable to hold the result of the OpenLibrary call.  This means
  80. that if your code explicitly does an OpenLibrary and CloseLibrary,
  81. and then sets the library base to NULL, the library open count is
  82. still correct.
  83.  
  84. |> I know that this version is 1.2, 1.3, and 2.0 compatible.  (I shouldn't
  85. |> have deleted it from the posting.)  I hope that SAS continues to support
  86. |> at least 1.3 for a while since I can't go beyond 1.3 with my A1000.  (I know,
  87. |> but I may upgrade once the new AA chipset is out.)
  88.  
  89. I know that some people have managed to make 2.0 run on a 1000, but I'm
  90. not sure how.  I'm sure someone on the net can tell you.
  91.  
  92. There was some discussion about 1.3 support in our beta tester 
  93. conference on BIX at one time, with feelings about equally divided
  94. between trashing support for pre-2.0 OS's and supporting them.
  95. My decision was that there are just too many people out there running
  96. 1.3 to drop support for it.  About the only things you'll be missing
  97. under 1.3 are file requesters for various tools (you get console 
  98. windows to type the filename into instead) and the fstat() function,
  99. which can't work under 1.3 because it uses a 2.0-only DOS call.  Since
  100. 1.3 doesn't come with AREXX, you are limited to using the message
  101. browser with our editor unless you purchase AREXX seperately, of course.
  102.  
  103. -- 
  104.   *****
  105. =*|_o_o|\\=====Doug Walker, Software Distiller====== BBS: (919)460-7430 =
  106.  *|. o.| ||                                          1200/2400/9600 Dual
  107.   | o  |//     For all you do, this bug's for you!
  108.   ====== 
  109. usenet: walker@unx.sas.com                            bix: djwalker 
  110. Any opinions expressed are mine, not those of SAS Institute, Inc.
  111.