| Professor Owl v. 1.0.8 (6/9/2005, Edward March) | Readme/What's new | Professor Owl 1.08
------------------
Date:       September 1, 2005
Author:     Edward March Jr.
License:    Open Source under the GNU GPL license
Email:      emarch@intergate.com
Home Pages:
            http://www.intergate.com/~emarch/
Description:
------------
    Professor Owl is a C++ Code generator for the Object Window Library.
    It is the fastest way to wrte OS/2 applcations using your Borland C++
    compiler and the Object Window Library classes. Professor Owl generates
    skeleton applications, make files, and C++ code with headers.
    It is easy to add objects and classes with functions/events to your
    existing C++ files or new C++ files.
    You push the buttons and let Professor Owl do the rest.
    It knows about hundreds of functions, parameters and classes
    that make up the Object Window Library(tm).
    Now released as Open Source under the GNU GPL License.
Dear Programmer,
---------------
Quick start for instalation. Unzip all files into a temporary directory,
from this temp directory run INSTALL.CMD - this will copy the files to
a final directory and create the desktop objects and shadows.
Thank you for evaluating Professor Owl order. I hope it brings you many
productive hours of joy. 
 
Startup
When Professor is first run, it will look for C++ code in
the current directory. If none is found. It will ask to
create an application. Run the setup to set your paths
correctly got BC++ and your owl directory. Select Path
from the File menu and make a sample directory. In this
directory you can create an application.
Sincerely,
Ed March | 
      
              |  hobbes.nmsu.edu/download/pub/os2/dev/proglang/cpp/ProfessorOwl_1-08r2.zip |  | 
      
              | Borland C++ v. 2.0 (10/11/1994, Borland International) | Readme/What's new | /************************************************************************/
                   Welcome to Borland C++ for OS/2 Version 2.0
  This README file contains important information about Borland C++.
  For the latest information about Borland C++ and its accompanying
  programs and manuals, read this file in its entirety.
  For useful information on working with the Borland Debugger, see the
  online file README.TD in the DOC subdirectory of your Borland C++
  installation.
-----------------
TABLE OF CONTENTS
-----------------
I.   How to Get Help
II.  Installation
III. Features
IV.  Important Information
V.   Other Useful Information
------------------
I. HOW TO GET HELP
------------------
  If you have any problems, please read this file, the online help,
  and other files in your DOC subdirectory, and the Borland C++
  manuals first. If you still have a question and need assistance,
  help is available from the following sources:
  1. Type
        GO BORLAND
     on the CompuServe bulletin board system for instant access to
     the Borland forums with their libraries of technical information
     and answers to common questions.
     If you are not a member of CompuServe, see the enclosed
     special offer, and write for full details on how to receive
     a free IntroPak containing a $15 credit toward your first
     month's on-line charges.
  2. Check with your local software dealer or users' group.
  3. Borland's TECHFAX service. Call (800) 822-4269 for a FAX 
     catalog of entries.
  4. If you have an urgent problem that cannot wait and you have
     sent in the license agreement that came with the package,
     you may call the Borland Technical Support Department at
     (408) 461-9133. Please have the following information ready
     before calling:
     a. Product name and serial number on your original distribution
        disk.  Please have your serial number ready or we will be unable
        to process your call.
     b. Product version number. The version number for Borland C++
        can be displayed by pressing Alt-H/A in the IDE.
     c. Computer brand, model, and the brands and model numbers of any
        additional hardware.
     d. Operating system and version number. (The version number can
        be determined by typing SYSLEVEL at the OS/2 shell prompt.)
     e. Contents of your CONFIG.SYS file.
----------------
II. INSTALLATION
----------------
  To install Borland C++ for OS/2 you must have OS/2 previously installed.
  This may be the OS/2 v2.1 product, the OS/2 for Windows release, OS/2 Warp,
  or any of the current shipping Service Pack's for these versions of OS/2.
  To install Borland C++, just click on the "Drive" prompt for your CDROM
  drive on the desktop, cd into the install directory and double-click the
  Install icon. You can then select installation options, or click on the
  install button to begin installing immediately.
  Please note that the install reports that 65 Mbytes are required on a full
  install for unpacking and help file creation, but that 67 Mbytes are
  actually needed.
  As part of updating your config.sys file, the install will add the line
  SET IPFC=c:\bcos2\ipfc when the line doesn't already exist. If config.sys
  already has a "SET IPFC" line, install will append c:\bcos2\ipfc to the
  end of this line even though IPF.exe will only look in the first directory
  for its support files. If you want to use the IPF support files provided
  by Borland, delete the first directory path from the "SET IPFC" line and
  reboot. For example, change SET IPFC=c:\tookit\ipfc;c:\bcos2\ipfc to
  SET IPFC=c:\bcos2\ipfc ("c:\bcos2" is replaced with your specified path if
  different).
  NOTE: If you do not expect to use the IBM Help Viewer to access the *.INF
        files and you selected them to be installed, you may delete them
        from the BCOS2\BIN directory and save substantial disk space. The
        reference files you may want to keep include TASM.INF, IPFC20.INF,
        IPFCEXMP.INF, and GUIREF20.INF.
        If you selected Borland OS/2 help files and did not install the IDE,
        Debugger, or Resource Workshop, you may delete the *.HLP files from
        the BCOS2\BIN directory to save additional disk space.
  NOTE: Two ObjectWindows examples will not be installed by the installation
        program. The examples are OWLAPI\PROFILE and OWLAPPS\TRACE. These
        examples can be copied to your hard disk from directory
        BCOS2\EXAMPLES\OWL.
-------------
III. FEATURES
-------------
  This release of Borland C++ for OS/2 includes the following 
  new features:
  - ObjectWindows Library for Presentation Manager
  - A text-mode debugger (TDOS2)
  - RCONVERT - a tool for converting Windows resources to Presentation
    Manager format
ObjectWindows Library for Presentation Manager
----------------------------------------------
The ObjectWindows Library (OWL) for Presentation Manager is a framework that
makes developing Presentation Manager applications much easier.
All of the OWL examples have make files and prj files. To use the make files:
	make (dll model)
	make -DMODEL=f  (static model)
	make -DDEBUG (debug version)
To use the PRJ files, open the project in the IDE and select RUN
IDE
---
  - Local popup menus for most IDE desktop objects: editor, transcript,
    project, and others
  - Drag & drop support from project to IDE desktop and PM to IDE desktop
  - Background compiling and Transfer features
  - A speedbar with icons for compilation, debugging, and editor actions
  - Easy access to all configuration options via the Settings notebook by
    choosing the Project|View Settings menu command
  - Buttons to revert to default settings in notebooks
  - Syntax highlighting for increased code readability
  - Configurable key bindings for the editor using the Editor Key Bindings
    setting in the Environment|Preferences subsection of the Settings
    notebook
  - Printing support under File|Print
  - Context-sensitive help on most objects and keywords
  - Extensive integrated debugging
Compiler
--------
  - Support for ANSI/ISO C++ exception handling, structured exception handling
    under C, and mixed C/C++ exception handling
  - Additional optimizations and faster compile time
  - Support for ANSI/ISO C++ operator new[] and operator delete[]
  - Runtime Library support for the ANSI C++ string class
  - Support for ANSI/ISO C++ runtime type identification (RTTI)
  - Support for ANSI/ISO C++ new style casts dynamic_cast, static_cast,
    const_cast, and reinterpret_cast
DLLs
----
  When creating a DLL which will be loaded by either a non-Borland built
  executable, or explicitly loaded by calling DosLoadModule, the global
  variable _multidll must be set as follows to ensure initialization of the
  DLL.
    extern int _multidll = 0;
  This statement should be placed globally in some module being linked into
  the DLL.
  When _multidll is set to zero, the DLL initializes itself when it is 
  loaded by the operating system.   When _multidll is set to one, executables
  built using Borland tools initialize the DLL after the DLL is loaded by the
  operating system.
  Under OS/2 2.1 there is no guarantee that interdependent DLL's will be
  initialized in the correct order.  An example of interdependent DLL's 
  would be a DLL containing a global class instance where that class' 
  constructor makes a call to some Runtime Library (RTL) function.  If the
  dynamic version of the RTL was linked to the DLL, the RTL DLL would need 
  to be initialized first.
  By default, DLLs built using Borland tools let Borland-built executables
  do the initialization.  This works only if the DLL was loaded implicitly
  when the executable was loaded.  If the DLL was loaded with the kernel
  function DosLoadModule, the DLL would need to initialize itself by setting 
  _multidll to one.
Resource Workshop
-----------------
  - The text editor included in Resource Workshop is limited to ASCII
    representations of resources that are no greater than 32K in length.
  - View|Show items or View|Show identifiers may give "Too many defines to
    view" or "Too many items to view" message if there are more than 1800 or
    so items in your project.  You will always get this if your project
    includes a header file with many items in it, such as OS2.H.
    Temporarily excluding such a file will allow you to use these View menu
    facilities.
  - Due to the graphical nature of many tasks performed in Resource Workshop
    for Presentation Manager, there are a variety of painting and display
    problems that can occur as a result of the video driver being used in a
    particular configuration.  If you encounter these types of problems,
    check with your video card supplier to see if there is a newer driver
    provided for the setup you are using.  Note that SVGA driver services
    currently seem to have more limitations than VGA.
  NOTE: The ComboBox for the Controls | New dialog box is not initialized.
        Simply press the down arrow control to list available controls.
RCONVERT Resource Conversion Tool
---------------------------------
  RCONVERT is a command-line tool that converts Windows-formatted resources
  with .ICO, .CUR, and .BMP extensions to Presentation Manager format. We 
  recommend that you convert COPIES of your sources because RCONVERT will 
  overwrite the given resource file. Use the -? option to see the RCONVERT 
  option screen.
  To convert resources from an RC file, just supply that file name on the
  command line. Here's one example:
     RCONVERT -ic:\bc4\include myres.rc
  RCONVERT:
    - Won't convert Windows fonts.
    - Won't convert compressed bitmaps. They must be uncompressed before
      conversion.
    - Will convert only 2, 16, and 256-bit color images for icons and cursors.
    - Won't directly convert .ICO, .CUR, and .BMP file names on the command
      line.
  The resource identifier generation switch (-a) is on by default. The
  resulting #defines are put into the first header file #included in the
  main .RC file, unless the #included file:
   - contains "windows" in its name
   - is BWCC.H
   - contains "OWL\" in its name
  If RCONVERT cannot find a header to put identifiers into, it puts them in
  the .RC file.
  If the resource identifier generation switch is turned off (-a-), the user
  must manually generate resource identifiers.
  The -s (off by default) generates conditionalized resource files. Using this
  switch leaves in the Windows versions of the resource, and surrounds the
  Windows and Presentation Manager resource versions with
  conditional-compilation statements. For example:
   #ifndef __OS2__
    ...
   // Old Windows source here
   #else
    ...
   // New PM source here
   #endif
  For "file" resources (e.g. 1 BITMAP foo.bmp), the WIndows file is left
  alone. The OS/2 resource is put in the parent .RC file as a "free-form"
  resource. For example:
  BITMAP 1
  {
   // string of hex digits surrounded by single quotes
   ...
  }
  Error and warning messages are the same as the resouce compiler messages,
  with the addition of some conversion warning messages about Windows styles
  with no Presentation Manager equivalent.
-------------------------
IV. IMPORTANT INFORMATION
-------------------------
CLASSLIB
--------
If you are going to build the class library yourself you must make a 
change to the class library makefile. Line 79 currently reads:
  BCC = bcc
It should be changed to
  BCC = bcc -DBI_PLAT_OS2
OWL
---
To set OWL libraries use the Libraries minor tab, or the Linker major tab of
the BCOS2 Settings|Notebook.
  Creating an OWL project in the IDE.
  -----------------------------------
  The following instructions assume that this release is installed in
  C:\BCOS2. If you have installed it in another directory and/or drive,
  replace all occurrences of BCOS2 and/or C: below with the directory and/or
  drive name in which you installed this release. By way of example we will
  recreate the ACLOCK example project file.
    1)From command line rename C:\BCOS2\EXAMPLES\OWL\OWLAPPS\ACLOCK\ACLOCK.PRJ
      to OLD.PRJ, and delete *.DSK *.OBJ *.EXE files from this directory.
    2)Start BC from command line or by double clicking on the BC icon in the
      Borland C++ folder.
    3)Select Project|Open C:\BCOS2\EXAMPLES\OWL\OWLAPS\ACLOCK\ACLOCK.PRJ. This
      creates a new project.
    4)In the "Project" window select insert. The "Add to Project List" dialog
      will come up. Add the following files:
         ACLOCK.CPP               (in current directory)
         ACLOCK.RC                (in current directory)
    5)Open the Project|ViewSettings|Linker|Libs page and turn on the Dynamic 
      switch for both "Standard runtime libs" and "Container class libs". Turn
      on the ObjectWindows Library switch for Dynamic libraries.
    6)Open the Project|ViewSettings|Linker|Linker page and turn on the
      "Case sensitive link" and "Case sensitive exports" switches.
    7)Open the Project|ViewSettings|Directory page and:
        For Include path type in "..\..\..\..\include"
        For Lib path type in "..\..\..\..\lib"
        (Note: You can also use absolute paths)
    8)Close the Options Notebook and save the project.
  Now you can do a Compile|BuildAll and Run|Run to run the ACLOCK example.
OS/2
----
  - OS/2 provides a master index file you can use to access the Presentation
    Manager reference online help file.  In order to access this index, you
    must add the following lines to your CONFIG.SYS file:
      SET PMREF=PMFUN.INF+PMGPI.INF+PMHOK.INF+PMMSG.INF+PMREL.INF+PMWIN.INF+
          PMWKP.INF
      SET HELPNDX=EPMKWHLP.NDX
    Then at the OS/2 prompt type "VIEW PMREF".  You can reference the entire
    Presentation Manager online reference from this single index.
  - OS/2 has problems with 64k multiples for a stack, we suggest that you try
    62k multiples or less.
  - DosExit() utilization is not recommend in OS/2 applications.  We recommend
    that you use exit() instead due to required RTL initialization / cleanup.
---------------------------
V. OTHER USEFUL INFORMATION
---------------------------
INTEGRATED DEBUGGING
--------------------
  "Return from function" under the Run menu will run the current function
  at full speed until it returns to the function which called it.  The
  Breakpoints detail view keeps track of changes made to source modules
  containing breakpoints by inserting the new line number information along
  side the original breakpoint information.
  Debugging a process the second time may result in old information
  displayed in the Breakpoints or Disassembly view if the Project Settings 
  notebook environment preferences "Auto Save Editors" is set to OFF.
  Saving changed files before restarting a debugging session fixes the
  problem.
  If you experience very slow stepping while a DOS window is open, you
  should set IDLE_SENSITIVITY under Settings|Session|DOS settings to a low
  value.  This also applies to standalone debugging.
STANDALONE DEBUGGING WITH TDOS2.EXE
-----------------------------------
  The TDOS2 debugger will only debug PM programs when run from
  a full screen OS/2 Session. You can run a full screen OS/2 session
  by changing the Settings options on the OS/2 icon for TDOS2.
  To do this, right mouse click on the icon, then select the arrow to 
  the right of the open menu choice, then select Settings | Session | OS/2 
  full screen.
RUN-TIME LIBRARY
----------------
  Two additions to the RTL DLLs:
    - support creating a String from a resource identifier
    - add a missing export _rtl_write
TLINK
-----
  The following switch is not included in the manuals:
    /n     No default libraries
  The IOPL and NOIOPL (control CODE segment I/O priviledge) options in the
  CODE statement are not supported.
COMPILER
--------
  This compiler supports the three distinct character types specified in
  section r.3.6.1 of the Second Edition of "The C++ Programming Language",
  by Bjarne Stroustrup.  This means that calls to some functions taking
  char which were legal and unambiguous in Borland C++ v3.1 will now cause
  an ambiguity error.
  Use of the -K2 option, casting, using the compiler option to change the
  default char handling, or supplying functions for the three types are some
  ways to resolve these errors.
  Another change from the October ANSI/ISO C++ draft supported is support for
  virtual functions differing in return type.  Section 10.2 specifies that
  the return type for an overriding function can be a pointer or reference
  to any class publicly derived from the base class used as the overridden
  return type:
    struct X{};
    struct Y: public X{};
    class B
    {
      ...
      public:
       virtual X* xFunc();
    };
    class D : public B
    {
      ...
      public:
        Y* xFunc();  // now legal: returns pointer to derived class
    };
  This compiler supports 16-bit wide characters, which increases the range
  of codes for the wchar_t type.  Size-dependent definitions may be affected
  by this change.  Specifically, use 
     L"abc"             for wchar_t strings, and
     L'a'               for wchar_t characters.
  Enum operator overloading is also supported in this compiler.
  The compiler now supports the AT&T CFRONT 3.0 template function
  overloading resolution extensions.
  Note, these extensions are disabled if the strict ANSI/ISO compliance
  compiler switch (-A for the command line, Options|Source|Ansi for the
  IDE) is enabled.
  When searching for an exact match for template function parameters;
  1) Trivial conversions are now considered exact matches.  For example:
     template<class T> void foo(const T a) {
       ...
     }
     ...
     foo(0);   //  This is illegal under ANSI/ISO C++: unresolved foo(int).
               //  However, Borland C++ now allows foo(const int) to be
                   called.
  2) Derived class pointer or references arguments are permitted to
     match their public base classes.  For example:
     template<class T>
     class B {
       ...
     };
     template<class T>
     class D : public B<T> {
       ...
     };
     template<class T> void foo(B<T> *b) {
       ...
     }
     ...
     foo(new D<int>); // This is illegal under ANSI/ISO C++: 
                      // unresolved foo(D<int> *).
                      // However, Borland C++ now allows
                      // foo(B<int> *) to be called.
     The conversion from derived class to base class is allowed only for
     template parameters, non-template parameters still require exact
     matches.  For example:
  class B {
    ...
  };
  class D : public B {
     ...
  };
  template<class T> void bar(T ignored, B *b) {
     ...
  }
  ...
  bar(0, new D);  // Illegal under CFRONT 3.0, ANSI/ISO C++ and Borland C++:
                  // unresolved external bar(int, D *), D * -> B * is not
                  // considered an exact match.
/**************************** END OF FILE ********************************/ | 
      
              |  winworldpc.com/download/43c2bde2-82ac-e280-a118-c39a11c3a4ef/from/c3ae6ee2-8099-713d-3411-c3a6e280947e |  | 
      
              | Borland C++ v. 1.5 (5/4/1994, Borland International) | Readme/What's new |                   Welcome to Borland C++ for OS/2
                  -------------------------------
  This README file contains important information about Borland C++.  For
  the latest information about Borland C++ and its accompanying programs
  and manuals, read this file in its entirety.
  For useful information on working with the Borland Debugger, see the
  online file README.TD in the DOC subdirectory of your Borland C++
  installation.
TABLE OF CONTENTS
-----------------
  I. How to Get Help
 II. Installation
III. Features
 IV. Important Information
  I. HOW TO GET HELP
--------------------
  If you have any problems, please read this file, the online help,
  and other files in your DOC subdirectory, and the Borland C++
  manuals first. If you still have a question and need assistance,
  help is available from the following sources:
  1. Type
        GO BORLAND
     on the CompuServe bulletin board system for instant access to
     the Borland forums with their libraries of technical information
     and answers to common questions.
     If you are not a member of CompuServe, see the enclosed
     special offer, and write for full details on how to receive
     a free IntroPak containing a $15 credit toward your first
     month's on-line charges.
  2. Check with your local software dealer or users' group.
  3. Borland's TECHFAX service. Call (800) 822-4269 for a FAX 
     catalog of entries.
  4. If you have an urgent problem that cannot wait and you have
     sent in the license agreement that came with the package,
     you may call the Borland Technical Support Department at
     (408) 461-9133. Please have the following information ready
     before calling:
     a. Product name and serial number on your original distribution
        disk.  Please have your serial number ready or we will be unable
        to process your call.
     b. Product version number. The version number for Borland C++
        can be displayed by pressing Alt-H/A in the IDE.
     c. Computer brand, model, and the brands and model numbers of any
        additional hardware.
     d. Operating system and version number. (The version number can
        be determined by typing SYSLEVEL at the OS/2 shell prompt.)
     e. Contents of your CONFIG.SYS file.
 II. INSTALLATION
-----------------
  To install Borland C++, just type;
    A:INSTALL
  in an OS/2 window, assuming A: is a 3.5" floppy drive. Or click on the
  "Drive A" prompt on the desktop, and double-click the Install icon.  You
  can then select installation options, or click on the install button to
  begin installing immediately.
  Please note that the install reports that 40 Mbytes are required on a
  full install for unpacking and help file creation.  After the install is
  complete, only 31 Mbytes are actually used.
  For CD-ROM users, the RTL source files have been included and can be found
  in the \BCOS2\SOURCE\RTL directory.  Simply copy them onto your harddisk to
  install.
  As part of updating your config.sys file, the install will add the line
  SET IPFC=c:\bcos2\ipfc when the line doesn't alreay exist.  If config.sys
  already has a "SET IPFC" line, install will append c:\bcos2\ipfc to the
  end of this line even though IPF.exe will only look in the first directory
  for its support files.  If you want to use the IPF support files provided
  by Borland, delete the first directory path from the "SET IPFC" line and
  reboot.  For example, change SET IPFC=c:\tookit\ipfc;c:\bcos2\ipfc to
  SET IPFC=c:\bcos2\ipfc ("c:\bcos2" is replaced with your specified path if
  different).
  NOTE: If you do not expect to use the IBM Help Viewer to access the *.INF
        files and you selected them to be installed, you may delete them
        from the BCOS2\BIN directory and save substantial disk space.  The
        reference files you may want to keep include TASM.INF, IPFC20.INF,
        IPFCEXMP.INF, and GUIREF20.INF.
        If you selected Borland OS/2 help files and did not install the IDE,
        Debugger, or Resource Workshop, you may delete the *.HLP files from
        the BCOS2\BIN directory to save additional disk space.
III. FEATURES
-------------
  - A visual object Browser to view class inheritance
  - Support for C++ Exceptions and RTTI
  - Presentation Manager Custom Control library
  - An IDE for Presentation Manager with integrated debugging
  - A standalone debugger that runs under Presentation Manager
  - Extensive context-sensitive online help
  - Resource Workshop for OS/2, a tool for resource creation and editing
  - TCREF: A cross reference utility for assembly language programs
IDE
---
  - Local popup menus for most IDE desktop objects: editor, transcript,
    project, and others
  - Drag & drop support from project to IDE desktop and PM to IDE desktop
  - Background compiling and Transfer features
  - A speedbar with icons for compilation, debugging, and editor actions
  - Easy access to all configuration options via the Settings notebook by
    choosing the Project|View Settings menu command
  - Buttons to revert to default settings in notebooks
  - Syntax highlighting for increased code readability
  - Configurable key bindings for the editor using the Editor Key Bindings
    setting in the Environment|Preferences subsection of the Settings
    notebook
  - Printing support under File|Print
  - Context-sensitive help on most objects and keywords
  - Extensive integrated debugging
TLINK
-----
  - The following switches are new:
    /Gm    Write mangled names in map file
    /n     No default libraries
    The IOPL and NOIOPL (control CODE segment I/O priviledge) options
    in the CODE statement are no longer supported.
 IV. IMPORTANT INFORMATION
--------------------------
  This version of Borland C++ for OS/2 is designed to run under the
  shipping version of OS/2 v2.1 or "OS/2 for Windows" installed.
OS/2 Issues
-----------
  - OS/2 provides a master index file you can use to access the Presentation
    Manager reference online help file.  In order to access this index, you
    must add the following lines to your CONFIG.SYS file:
      SET PMREF=PMFUN.INF+PMGPI.INF+PMHOK.INF+PMMSG.INF+PMREL.INF+
                PMWIN.INF+PMWKP.INF 
      SET HELPNDX=EPMKWHLP.NDX
    Then at the OS/2 prompt type "VIEW PMREF".  You can reference the entire
    Presentation Manager online reference from this single index.
  - OS/2 has problems with 64k multiples for a stack, we suggest that you try
    62k multiples or less.
  - DosExit() utilization is not recommend in OS/2 applications.  We recommend
    that you use exit() instead due to required RTL initialization / cleanup.
Compiler
--------
  The following is a summary of new (or changed) compiler switches:
  -an  Align to n: 1 = Byte, 2 = Word, 4 = Double Word boundaries.
  -xd  Enables destructor cleanup so that destructors are called for all
       automatically declared objects between the scope of the catch and
       throw statements when an exception is thrown.  Note that destructors
       aren't automatically called for dynamic objects and dynamic objects
       aren't automatically freed.
  -xf  Expand function initilization inline.  Normally, the prolog of a
       function with any exception handling constructs will contain a call
       to a run-time library function to initialize exception handling for
       the function.  The -xf option expands this code inline in the prolog
       of each function providing slightly faster code execution, but at the
       expense of code size.  This option can be used selectively for only
       the most time-critical functions.
  -xp  Enables exception location information that makes available run-time
       identification of exceptions by providing the line numbers in the
       source code where the exception occurred.  This lets the program query
       the file and line number from where a C++ exception occurred.
  -Hc  Cache precompiled headers. Must be used with -H or -Hxxx.  This option
       is useful when compiling more than one precompiled header.
  -H"xxx"  Stop compiling precompiled headers at file "xxx".  This must be
       used with -H, -Hu, or -H=filename.
  -R   Include browser information in generated .OBJ files.  ObjectBrowser
       reference information in OBJs includes browser information when the
       compiler generates .OBJ files; this lets you inspect the application
       using the IDE's integrated ObjectBrowser.  When this option is off,
       you can link larger .OBJ files. This option doesn't affect execution
       speed, but it does affect compile time.
  -RT  Enable run-time type information.
  The following is a summary of new (or changed) compiler features:
  - Support for ANSI C++ exception handling, structured exception handling
    under C, and mixed C/C++ exception handling
  - Additional optimizations and faster compile time
  - Support for ANSI C++ operator new[] and operator delete[]
  - Runtime Library support for the ANSI C++ string class
  - Support for ANSI C++ runtime type identification (RTTI)
  - Support for ANSI C++ new style casts dynamic_cast, static_cast,
    const_cast, and reinterpret_cast
  This compiler supports the three distinct character types specified in
  section r.3.6.1 of the Second Edition of "The C++ Programming Language",
  by Bjarne Stroustrup.  This means that calls to some functions taking
  char which were legal and unambiguous in Borland C++ v3.1 will now cause
  an ambiguity error.
  Use of the -K2 option, casting, using the compiler option to change the
  default char handling, or supplying functions for the three types are some
  ways to resolve these errors.
  Another change from the October ANSI C++ draft supported is support for
  virtual functions differing in return type.  Section 10.2 specifies that
  the return type for an overriding function can be a pointer or reference
  to any class publicly derived from the base class used as the overridden
  return type:
    struct X{};
    struct Y: public X{};
    class B
    {
      ...
      public:
       virtual X* xFunc();
    };
    class D : public B
    {
      ...
      public:
        Y* xFunc();  // now legal: returns pointer to derived class
    };
  This compiler supports 16-bit wide characters, which increases the range
  of codes for the wchar_t type.  Size-dependent definitions may be affected
  by this change.  Specifically, use 
     L"abc"             for wchar_t strings, and
     L'a'               for wchar_t characters.
  Enum operator overloading is also supported in this compiler.
  The compiler now supports the AT&T CFRONT 3.0 template function
  overloading resolution extensions.
  Note, these extensions are disabled if the strict ANSI compliance
  compiler switch (-A for the command line, Options|Source|Ansi for the
  IDE) is enabled.
  When searching for an exact match for template function parameters;
  1) Trivial conversions are now considered exact matches.  For example:
     template<class T> void foo(const T a) {
       ...
     }
     ...
     foo(0);   //  This is illegal under ANSI C++: unresolved foo(int).
               //  However, Borland C++ now allows foo(const int) to be
                   called.
  2) Derived class pointer or references arguments are permitted to
     match their public base classes.  For example:
     template<class T>
     class B {
       ...
     };
     template<class T>
     class D : public B<T> {
       ...
     };
     template<class T> void foo(B<T> *b) {
       ...
     }
     ...
     foo(new D<int>); // This is illegal under ANSI C++: 
                      // unresolved foo(D<int> *).
                      // However, Borland C++ now allows
                      // foo(B<int> *) to be called.
     The conversion from derived class to base class is allowed only for
     template parameters, non-template parameters still require exact
     matches.  For example:
  class B {
    ...
  };
  class D : public B {
     ...
  };
  template<class T> void bar(T ignored, B *b) {
     ...
  }
  ...
  bar(0, new D);  // Illegal under CFRONT 3.0, ANSI C++ and Borland C++:
                  // unresolved external bar(int, D *), D * -> B * is not
                  // considered an exact match.
Libraries and Startup Code
--------------------------
  The following global variables have been renamed:
  Obsolete global     Old name     New name       Header file
        variables   -----------------------------------------
                      daylight     _daylight      time.h
                      directvideo  _directvideo   conio.h
                      environ      _environ       stdlib.h
                      sys_errlist  _sys_errlist   errno.h
                      sys_nerr     _sys_nerr      errno.h
                      timezone     _timezone      time.h
                      tzname       _tzname        time.h
                    -----------------------------------------
  Link with OBSOLETE.LIB to get the obsolete global variables.
  The old names of the following functions are available.
  However, the compiler will generate a warning that 
  you are using an obsolete name. Future versions of Borland
  C++ might not provide support for the old function names.
  The following function names have been changed:
                      Old name     New name       Header file
                    -----------------------------------------
                      _chmod       _rtl_chmod     io.h
                      _close       _rtl_close     io.h
                      _creat       _rtl_creat     io.h
                      _heapwalk    _rtl_heapwalk  malloc.h
                      _open        _rtl_open      io.h
                      _read        _rtl_read      io.h
                      _write       _rtl_write     io.h
                    -----------------------------------------
Changes to the Class Libraries
------------------------------
  Only the version of the class library implemented with C++ templates 
  is distributed and directly supported in Borland C++ v1.5.
  The class library "object-based" include files are provided in the
  \BCOS2\INCLUDE\CLASSLIB\OBSOLETE subdirectory.  The object-based
  libraries themselves are not supplied, but can be built using the
  instructions found in the \BCOS2\SOURCE\CLASSLIB makefile (see the
  comments located there).
  Use Generate Makefile for \BCOS2\EXAMPLES\CLASSLIB samples programs for
  command line usage.
IDE
---
  Differences from the Borland C++ Version 3.x interface:
  - Transfer tools are no longer listed under a special system menu, but
    are instead listed under a new Tools menu.  This menu also includes all
    message management actions.  Transfer items are installed through the
    Transfer section of the Settings notebook. Open the Settings notebook
    by choosing the Project|View Settings menu command.
  - The message window and modal compile dialog have been combined into the
    new modeless Transcript Window.  This enhancement supports background
    compilation.
  - The Options menu has been replaced with the Project Settings Notebook;
    the notebook is accessed through the Project|View Settings menu item.
    The notebook contains sections and pages which correspond to the nested
    menus and dialogs accessed from the original Options menu.
    Note that the Project Settings notebook works like other notebooks in
    Presentation Manager: changes made to controls take effect immediately
    rather than pending confirmation as in dialogs; the notebook is modeless.
    Searching in selected text with the Settings notebook environment editor
    "Persistent Blocks" option set to OFF is not possible.  The block is
    removed before the search is attempted; therefore the search will fail.
    Occasionally  doing Help | Topic search on a valid help topic will fail
    on machines running the OS/2 Service pak from October 1992.  Access the
    Help via the Help|Contents menu item.	
  Integrated debugging:
  - "Return from function" under the Run menu will run the current function
    at full speed until it returns to the function which called it.  The
    Breakpoints detail view keeps track of changes made to source modules
    containing breakpoints by inserting the new line number information along
    side the original breakpoint information.
  - Debugging a process the second time may result in old information
    displayed in the Breakpoints or Disassembly view if the Project Settings 
    notebook environment preferences "Auto Save Editors" is set to OFF.
    Saving changed files before restarting a debugging session fixes the
    problem.
  - If you experience very slow stepping while a DOS window is open, you
    should set IDLE_SENSITIVITY under Settings|Session|DOS settings to a low
    value.  This also applies to standalone debugging.
Turbo Debugger GX
-----------------
  For useful information on working with the Borland Debugger, see the
  online file README.TD in the DOC subdirectory of your Borland C++
  installation.
DLLs
----
  When creating a DLL which will be loaded by either a non-Borland built
  executable, or explicitly loaded by calling DosLoadModule, the global
  variable _multidll must be set as follows to ensure initialization of the
  DLL.
    extern int _multidll = 0;
  This statement should be placed globally in some module being linked into
  the DLL.
  When _multidll is set to zero, the DLL initializes itself when it is 
  loaded by the operating system.   When _multidll is set to one, executables
  built using Borland tools initialize the DLL after the DLL is loaded by the
  operating system.
  Under OS/2 2.1 there is no guarantee that interdependent DLL's will be
  initialized in the correct order.  An example of interdependent DLL's 
  would be a DLL containing a global class instance where that class' 
  constructor makes a call to some Runtime Library (RTL) function.  If the
  dynamic version of the RTL was linked to the DLL, the RTL DLL would need 
  to be initialized first.
  By default, DLLs built using Borland tools let Borland-built executables
  do the initialization.  This works only if the DLL was loaded implicitly
  when the executable was loaded.  If the DLL was loaded with the kernel
  function DosLoadModule, the DLL would need to initialize itself by setting 
  _multidll to one.
Resource Workshop
-----------------
  - The text editor included in Resource Workshop is limited to ASCII
    representations of resources that are no greater than 32K in length.
  - View|Show items or View|Show identifiers may give "Too many defines to
    view" or "Too many items to view" message if there are more than 1800 or
    so items in your project.  You will always get this if your project
    includes a header file with many items in it, such as OS2.H.
    Temporarily excluding such a file will allow you to use these View menu
    facilities.
  - There is no comprehensive way to import Windows resources and projects
    into the OS/2 version of Resource Workshop.  However it is possible,
    under WIN-OS/2, to copy a Windows bitmap resource to the OS/2 clipboard 
    and then paste the resource into the bitmap editor in Resource Workshop 
    for Presentation Manager.
  - Due to the graphical nature of many tasks performed in Resource Workshop
    for Presentation Manager, there are a variety of painting and display
    problems that can occur as a result of the video driver being used in a
    particular configuration.  If you encounter these types of problems,
    check with your video card supplier to see if there is a newer driver
    provided for the setup you are using.  Note that SVGA driver services
    currently seem to have more limitations than VGA.
  NOTE: The ComboBox for the Controls | New dialog box is not initialized.
        Simply press the down arrow control to list available controls. | 
      
              |  winworldpc.com/download/4968c384-cb9c-5a65-11c3-a5c28fc2a3ef/from/c3ae6ee2-8099-713d-3411-c3a6e280947e |  | 
      
              | Borland C++ v. 1.0 (20/2/1993, Borland International) | Readme/What's new |                   Welcome to Borland C++ for OS/2
                  -------------------------------
  This README file contains important information about Borland C++.
  For the latest information about Borland C++ and its accompanying
  programs and manuals, read this file in its entirety.
  For useful information on working with the Borland Debugger, see the
  online file README.TD in the DOC subdirectory of your Borland C++
  installation.
TABLE OF CONTENTS
-----------------
I.   How to Get Help
II.  Installation
III. Features
IV.  Important Information
 I. HOW TO GET HELP
-------------------
  If you have any problems, please read this file, the online help,
  and other files in your DOC subdirectory, and the Borland C++
  manuals first. If you still have a question and need assistance,
  help is available from the following sources:
  1. Type
        GO BORLAND
     on the CompuServe bulletin board system for instant access to
     the Borland forums with their libraries of technical information
     and answers to common questions.
     If you are not a member of CompuServe, see the enclosed
     special offer, and write for full details on how to receive
     a free IntroPak containing a $15 credit toward your first
     month's on-line charges.
  2. Check with your local software dealer or users' group.
  3. Borland's TECHFAX service. Call (800) 822-4269 for a FAX 
     catalog of entries.
  4. If you have an urgent problem that cannot wait and you have
     sent in the license agreement that came with the package,
     you may call the Borland Technical Support Department at
     (408) 461-9133. Please have the following information ready
     before calling:
     a. Product name and serial number on your original
        distribution disk.  Please have your serial number ready
        or we will be unable to process your call.
     b. Product version number. The version number for Borland
        C++ can be displayed by pressing Alt-H/A in the IDE.
     c. Computer brand, model, and the brands and model numbers of
        any additional hardware.
     d. Operating system and version number. (The version number
        can be determined by typing SYSLEVEL at the OS/2 shell
        prompt.)
     e. Contents of your CONFIG.SYS file.
II. INSTALLATION
---------------
To install Borland C++, just type
    A:INSTALL
in an OS/2 window, assuming A: is a 3.5" floppy drive. Or click on the
"Drive A" prompt on the desktop, and double-click the Install icon.
You can then select installation options, or click on the install
button to begin installing immediately.
If you are building a help file, and see a message regarding a
missing .TAG file, you should set the IPFC environment variable to
the IPFC path in this release. Edit CONFIG.SYS to include this line:
    SET IPFC=C:\BCOS2\IPFC
Change the path to match your own installation configuration if
necessary. You may already have a SET IPFC line in your CONFIG.SYS
file, in which case you can add the Borland C++ path:
    SET IPFC=C:\OS2;C:\BCOS2\IPFC
In order to perform a search on All libraries from Help it is
recommended that you set the following environment variables in your
CONFIG.SYS file:
    HELP=C:\BCOS2\BIN;
Change the path to match your own installation configuration if
necessary. You may already have a SET HELP line in your CONFIG.SYS
file, in which case you can add the Borland C++ path:
    HELP=C:\OS2;C:\BCOS2\BIN;
III. FEATURES
-----------
  - An IDE for Presentation Manager with integrated debugging
  - A standalone debugger that runs under Presentation Manager
  - Extensive context-sensitive online help
  - Resource Workshop for OS/2, a tool for resource creation
    and editing.
IDE
---
  - Local popup menus for most IDE desktop objects: editor, transcript,
    project, and others
  - Drag and drop support from project to IDE desktop and PM to IDE
    desktop
  - Background compiling and Transfer features
  - A speedbar with icons for compilation, debugging, and editor
    actions
  - Easy access to all configuration options via the Settings notebook
    by choosing the Project|View Settings menu command
  - Buttons to revert to default settings in notebooks
  - Syntax highlighting for increased code readability
  - Configurable key bindings for the editor using the Editor Key Bindings
    setting in the Environment|Preferences subsection of the Settings
    notebook
  - Printing support under File|Print
  - Context-sensitive help on most objects and keywords
  - Extensive integrated debugging
Turbo Assembler
---------------
  - Extended GETFIELD and SETFIELD directives
    TASM 3.0 for DOS let the source and target working registers remain
    the same for these directives, but generated useless code.
    When GETFIELD is used 'in place', it no longer generates the
    nonfunctional 'MOV target, source' instruction.  Similarly,
    the SETFIELD 'in place' doesn't OR the source value to
    itself, but will ensure that those unset fields of the target
    register will be 0.
  - Added switches to select desired linker
    The new switches /os and /oi, combined with the existing
    switches /o and /op, constitute a new selection in TASM of the
    object format pertinent to the selected linker.  The following
    table describes these switches:
    Switch  Meaning
    ------  -------
    /os     The default selection; Output standard TLINK-compatible
            objects without overlay support
    /o      Output standard TLINK-compatible objects with overlay support
            enabled
    /oi     Output IBM linker-compatible objects (IBM's linear-
            executable linker)
  - Added a new segment attribute and uninitialized segment warning
    TASM 3.0 offered no way to discover if data was being
    inadvertently written to segments intended to be
    uninitialized.  A new segment attribute has been added
    to correct this problem. In a segment directive, the
    attribute can be invoked by including an 'UNINIT' as part of
    the segment description.  For example,
      BSS SEGMENT PUBLIC WORD UNINIT 'BSS'
    All data written to such a segment will produce a warning.
    (This warning can be disabled using the directive 'NOWARN UNI'
    and re-enabled with 'WARN UNI'.)
    Note that all uninitialized segments declared with the
    simplified segment directives will be declared with the UNINIT
    attribute.
  - Added PUSHSTATE and POPSTATE directives
    PUSHSTATE and POPSTATE let you have code that's independent
    of the current operating state, but doesn't affect the current
    operating mode.
    PUSHSTATE saves the current TASM state on an internal stack 16
    levels deep. The actual state saved includes the following:
    . Current emulation version, such as T301
    . Mode selection: IDEAL, MASM, QUIRKS, MASM51
    . EMUL/NOEMUL switch
    . Current processor/coprocessor selection
    . MULTERRS/NOMULTERRS switch
    . SMART/NOSMART switch
    . Current radix
    . JUMPS/NOJUMPS switch
    . LOCALS/NOLOCALS switch
    . Current local symbol prefix
    POPSTATE restores the last-saved TASM state from the stack.
  - Added a new version name 'T301'
    The version name T301 is now the current default version.
    Put the VERSION T300 directive at the beginning of any code
    that conflicts with new keywords added in TASM 3.01.
  - .487 and P487 processor directives support
IV. IMPORTANT INFORMATION
----------------------
This version of Borland C++ for OS/2 is designed to run under the
shipping version of OS/2 2.0 with the Service Pak upgrade installed.
You may have problems running these tools under later OS/2 versions.
OS/2 Issues
-----------
- OS/2 provides a master index file you can use to access the Presentation
  Manager reference online help file.  In order to access this index, you
  must add the following lines to your CONFIG.SYS file:
    SET PMREF=PMFUN.INF+PMGPI.INF+PMHOK.INF+PMMSG.INF+PMREL.INF+PMWIN.INF+ 
              PMWKP.INF 
    SET HELPNDX=EPMKWHLP.NDX
  Then at the OS/2 prompt type "VIEW PMREF".  You can reference the entire
  Presentation Manager online reference from this single index.
Compiler
--------
  This compiler supports the three distinct character types specified
  in section r.3.6.1 of the Second Edition of "The C++ Programming
  Language", by Bjarne Stroustrup. This means that calls to some
  functions taking char which were legal and unambiguous in Borland
  C++ 3.1 will now cause an ambiguity error.
  Casting, using the compiler option to change the default char
  handling, or supplying functions for the three types are some ways
  to resolve these errors.
  Another change from the October ANSI C++ draft supported is
  support for virtual functions differing in return type. Section
  10.2 specifies that the return type for an overriding function
  can be a pointer or reference to any class publicly derived
  from the base class used as the overridden return type:
      struct X{};
      struct Y: public X{};
      class B
      {
        ...
        public:
         virtual X* xFunc();
      };
      class D : public B
      {
        ...
        public:
          Y* xFunc();  // now legal: returns pointer to derived class
      };
  This compiler supports 16-bit wide characters, which increases the
  range of codes for the wchar_t type. Size-dependent definitions may
  be affected by this change. Specifically, use
    L"abc"             for wchar_t strings, and
    L'a'               for wchar_t characters.
  Enum operator overloading is also supported in this compiler.
  The compiler now supports the AT&T CFRONT 3.0 template function
  overloading resolution extensions.
  Note, these extensions are disabled if the strict ANSI compliance
  compiler switch (-A for the command line, Options | Source | Ansi for
  the IDE) is enabled.
  When searching for an exact match for template function parameters;
    1) Trivial conversions are now considered exact matches.  For example:
    template<class T> void foo(const T a)
    {
      ...
    }
    ...
    foo(0); // This is illegal under ANSI C++: unresolved foo(int).
            // However, Borland C++ now allows foo(const int) to be called.
    2) Derived class pointer or references arguments are permitted to
    match their public base classes.  For example:
    template<class T>
    class B {
      ...
    };
    template<class T>
    class D : public B<T> {
      ...
    };
    template<class T> void foo(B<T> *b)
    {
       ...
    }
    ...
    foo(new D<int>); // This is illegal under ANSI C++:
                     //   unresolved foo(D<int> *).
                     // However, Borland C++ now allows
                     // foo(B<int> *) to be called.
  The conversion from derived class to base class is allowed only for
  template parameters, non-template parameters still require exact
  matches.  For example:
    class B {
      ...
    };
    class D : public B {
       ...
    };
    template<class T> void bar(T ignored, B *b)
    {
      ...
    }
    ...
    bar(0, new D);  // Illegal under CFRONT 3.0, ANSI C++ and Borland C++:
                    // unresolved external bar(int, D *), D * -> B * is not
                    // considered an exact match.
IDE
---
  Differences from the Borland C++ Version 3.x interface:
  - Transfer tools are no longer listed under a special system
    menu, but are instead listed under a new Tools menu.
    This menu also includes all message management actions.
    Transfer items are installed through the Transfer section
    of the Settings notebook. Open the Settings notebook by
    choosing the Project|View Settings menu command.
  - The message window and modal compile dialog have been combined
    into the new modeless Transcript Window.  This is an enhancement
    to support background compilation.
  - The Options menu has been replaced with the Project Settings
    Notebook; the notebook is accessed through the Project|View Settings
    menu item.  The notebook contains sections and pages which correspond
    to the nested menus and dialogs accessed from the original Options
    menu.
    Note that the Settings notebook works like other notebooks in
    Presentation Manager: changes made to controls take effect immediately
    rather than pending confirmation as in dialogs; the notebook
    is modeless.
    Searching in selected text with the Settings notebook environment
    editor "Persistent Blocks" option set to OFF is not possible. The
    block is removed before the search is attempted; therefore the search
    will fail.
    Occasionally  doing Help | Topic search on a valid help topic will fail
    on machines running the OS/2 Service pak from October 1992.  Access
    the Help via the Help | Contents menu item.	
  Integrated debugging:
  - "Return from function" under the Run menu will run the current
    function at full speed until it returns to the function which
    called it.
    The Breakpoints detail view keeps track of changes made to
    source modules containing breakpoints by inserting the new
    line number information along side the original breakpoint
    information.
  - Debugging a process the second time may result in old information
    displayed in the Breakpoints or Disassembly view if the Settings 
    notebook environment preferences "Auto Save Editors" is set to OFF
    Saving changed files before restarting a debugging session fixes 
    the problem.
  - If you experience very slow stepping while a DOS window
    is open, you should set IDLE_SENSITIVITY under Settings|Session|DOS 
    settings to a low value. This also applies to standalone debugging.
Turbo Debugger GX
-----------------
  For useful information on working with the Borland Debugger, see the
  online file README.TD in the DOC subdirectory of your Borland C++
  installation.
DLLs
----
  When creating a DLL which will be loaded by either a non-Borland built
  executable, or explicitly loaded by calling DosLoadModule, the global
  variable _multidll must be set as follows to ensure initialization of the
  DLL.
    extern int _multidll = 0;
  This statement should be placed globally in some module being linked into
  the DLL.
  When _multidll is set to zero, the DLL initializes itself when it is 
  loaded by the operating system.   When _multidll is set to one, executables
  built using Borland tools initialize the DLL after the DLL is loaded by the
  operating system.
  Under OS/2 2.0 there is no guarantee that interdependent DLL's will be
  initialized in the correct order.  An example of interdependent DLL's 
  would be a DLL containing a global class instance where that class' 
  constructor makes a call to some Runtime Library (RTL) function.  If the
  dynamic version of the RTL was linked to the DLL, the RTL DLL would need 
  to be initialized first.
  By default, DLLs built using Borland tools let Borland-built executables
  do the initialization.  This works only if the DLL was loaded implicitly
  when the executable was loaded.  If the DLL was loaded with the kernel
  function DosLoadModule, the DLL would need to initialize itself by setting 
  _multidll to one.
Resource Workshop
-----------------
- The text editor included in Resource Workshop is limited to ASCII
  representations of resources that are no greater than 32K in length.
- View|Show items or View|Show identifiers may give "Too many items to view"
  or "Too many defines to view" message if there are more than 1800 or so
  items in your project.  You will always get this if your project includes
  a header file with many items in it, such as OS2.H.  Temporarily excluding
  such a file will allow you to use these View menu facilities.
- There is no comprehensive way to import Windows resources and projects
  into the OS/2 version of Resource Workshop.  However it is possible,
  under WIN-OS/2, to copy a Windows bitmap resource to the OS/2 clipboard 
  and then paste the resource into the bitmap editor in Resource Workshop 
  for Presentation Manager.
- Due to the graphical nature of many tasks performed with Resource Workshop
  for Presentation Manager, there are a variety of painting and display problems
  that occur as a result of the video driver being used in a particular config-
  uration.  If you encounter these types of problems, check with your video
  card supplier to see if there is a newer driver provided for the setup you
  are using.  Note that SVGA driver services currently seem to have more
  limitations than VGA. | 
      
              |  winworldpc.com/download/c3b0c3b8-c385-7d5a-6411-c3a5c28fc2a3/from/c3ae6ee2-8099-713d-3411-c3a6e280947e |  | 
    
 
Commenti
Martin Iturbide
Lun, 07/08/2023 - 04:43
Collegamento permanente
New Link:
Aggiungi un commento