home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.ms-windows.programmer.win32
- Path: sparky!uunet!gossip.pyramid.com!decwrl!borland.com!news!cfortier
- From: cfortier@genghis.news (Chris Fortier)
- Subject: Re: Does Borland plan to support NT on non-X86 archtectures?
- In-Reply-To: hjhoffma@cayley.uwaterloo.ca's message of Wed, 11 Nov 1992 17:56:35 GMT
- Message-ID: <CFORTIER.92Nov12144428@genghis.news>
- Sender: news@borland.com (News Admin)
- Organization: Borland International, Inc.
- References: <BxKCIC.5KE@undergrad.math.waterloo.edu>
- Date: Thu, 12 Nov 1992 22:44:28 GMT
- Lines: 507
-
-
- Borland has committed to supporting Windows NT. Below is a very early(June
- time frame) PUBLICLY AVAILABLE press release.
-
- Chris Fortier
- Borland C++ Run Time Library QA
-
- cfortier@borland.com
-
-
- ============================================================================
-
- Borland C++ for Win32: A Technical Overview
-
-
- Overview
-
- Borland International is the leading supplier of object-oriented
- development tools for DOS and Windows. With the introduction of
- Borland C++ 2.0 in February 1991, Borland pioneered the concept of a
- single package solution for Windows development with no SDK
- requirements. With ObjectWindows, a component of Borland C++ &
- Application Frameworks, Borland provided the development community
- with a set of object-oriented building blocks for reducing the
- complexity of Windows development in C++. Borland C++ 3.0 added the
- first Windows hosted development environment for C++. Borland C++
- 3.1, introduced in June 1992 on the heels of Microsoft Windows 3.1,
- advances the state-of-the-art of Windows hosted development
- environments, adds 386 and C++ optimizations, and takes full
- advantage of Windows 3.1.
-
- Now Borland is announcing support for 32-bit tools for Win32s and
- Windows NT -- Borland C++ for Win32. Borland sees these 32-bit
- operating environments as critical to its installed base of
- professional developers and new customers who want to build
- industrial strength 32-bit applications for Windows. Borland is
- leveraging its 32-bit compiler technology built for OS/2 to offer
- programmers advanced object- oriented development tools for the Win32
- and Win32s application programming interfaces.
-
- This document gives a technical overview of the upcoming Borland C++
- for Win32. It describes the major features added to Borland C++
- beyond its support for Windows 3.1 and how developers can plan for
- the changes required to port their applications to Win32s or Win32.
- This document assumes the reader has knowledge of Borland C++ 3.1 and
- Windows programming in general. If more information on Borland C++
- is necessary, please refer to the Borland C++ & Application
- Frameworks Reviewer's Guide available from Borland.
-
- Win32 and Win32s
-
- Win32 is an Applications Programming Interface (API) for 32-bit
- versions of Windows. The API widens the parameters of the existing
- 16 Windows API to 32-bits and adds many functional capabilities with
- new API calls. The additional functionality of Win32 includes
- support for a 32-bit linear address space, pre- emptive multitasking,
- networking, security, and enhanced graphics functions among other
- capabilities. Win32 is an API that will first appear on top of
- Microsoft's new operating system technology NT (new technology). The
- first release of this API will appear in Windows NT, which will have
- the Windows 3.1 user interface model and the full Win32 API.
-
- Win32s is a subset of the Win32 API that can be implemented on top of
- the existing 16-bit Windows running in enhanced (386) mode. Without
- changing the underlying DOS operating system, only the widened
- Windows 3.1 API for a 32-bit linear address can be supported.
- Supporting this capability requires device drivers (VxDs) to handle
- memory management and a DLL to handle a mapping of the Win32 function
- calls to their 16-bit counterparts. The benefits of this technology
- are two fold: first, a Win32s executable is the same format (Portable
- Executable or PE) as an NT executable so it can run unchanged in both
- environments; and second, applications can take advantage of the
- performance gains associated with a 32-bit linear address space. As
- a result, application developers can build programs that take
- advantage of the 386 while still appealing to the broad installed
- base of Windows 3.1 users.
-
- -------------------------------------------------------------------------
- UI | Windows 3.1 | Windows 3.1 | Windows 3.1 | Windows 3.x
- ----|------------------|----------------|---------------|----------------
- API | 16-bit Win API | Win32s | Win32 | Win32
- | | 16-bit Win API | |
- ----|------------------|----------------|---------------|----------------
- OS | 16-bit DOS | 16-bit DOS | NT |NT or 32-bit DOS
- -------------------------------------------------------------------------
-
- The above table depicts the chronological evolution of Windows as it
- might be viewed by developers. It helps delineate the relationship of
- the user interface model, i.e., the look and feel, to the API, and
- the API to the operating system. Note that the user interface model
- refers to Windows 3.1. The model can be thought of as the Program
- Manager, the applets, and the general look to user interface
- components. The API is the set of functions that programmers use to
- build their applications. The operating system refers to the core
- set of functions that are called to manage memory, handle file I/O,
- get input from a variety of devices including the keyboard and the
- mouse, and handle the display.
-
- The full Win32 API requires advanced operating system functions that
- are not available in 16-bit DOS, e.g., support for multi-threading.
- Win32s is an intermediate step until a 32-bit version of DOS that
- supports more of the Win32 API. The additional overhead of thunking
- down to 16-bit Windows calls under Win32s will reduce some of the
- increased performance gained from running a 32-bit application. When
- Microsoft releases a 32-bit version of DOS, a 32-bit version of
- Windows (3.x) will enable Win32 applications to run on DOS without a
- thunking layer. Product Overview
-
- Borland C++ for Win32 is a new generation of Borland C++ that only
- targets applications for Win32s and NT on Intel architectures. The
- first generation of Borland C++ for Win32 is focused on targeting
- these platforms exclusively. New functionality will appear in areas
- of the product where it is necessary to support 32-bit development
- under Win32s or NT, such as the addition of exception handling or
- multi- threaded libraries. Other new features have been added to aid
- programmers in moving between 16-bit Windows development and Win32
- such as an enhanced version of the ObjectWindows application
- framework that supports 16 to 32-bit source code portability and
- expanded coverage of the Windows API. The goal for Borland C++ for
- Win32 is to provide a world class development environment for C and
- C++ that reduces the complexity of developing 32-bit Windows
- applications -- all in a single box solution.
-
-
- Compiler
-
- Borland C++ for Win32 features a 32-bit hosted compiler that supports
- ANSI C and AT&T C++ 3.0. The C++ compiler supports a native code
- implementation of templates and is the most compliant C++
- implementation available on PCs. Borland C++ will continue to push
- the limits of speed compilation with its exceptionally fast
- front-end/back-end and precompiled headers technology. Borland C++
- speed of compilation only decreases by 50% with full optimizations.
-
- The new 32-bit optimization technology features highly sophisticated
- register allocation with priority based coloring. The optimizer uses
- state-of-the-art data flow and data dependency analysis to achieve
- superior code quality for the Intel 386/486 architecture. The
- compiler provides additional debugging information to enhance the
- debugging of optimized code.
-
- The NT kernel requires support for structured exception handling to
- service a variety of error conditions that can occur in an
- application such as floating point exceptions. Exception handling is
- a generic mechanism available to applications to handle error
- conditions as non local exits from a procedure. Borland C++ for
- Win32 has support for exception handling.
-
-
- Integrated Development Environment
-
- Borland C++ for Windows is the Windows hosted integrated development
- environment. It features a single environment in which you can edit,
- compile, resource compile, link and run your application. The macro
- based editor features color syntax highlighting so that you can
- control the display of C/C++ syntax with fonts and color. Borland
- C++ for Windows has a project manager that functions as a visual make
- facility for building your applications. The project manager
- understands how to process each of the files that make up your
- application to produce an executable -- to compile source files,
- resource compile .RC files, and to use DEF files in the link process.
- It also has a browser to allow you to display your class hierarchy or
- get more details on the structure of classes and variables.
-
- Borland C++ for Windows is a Windows 3.1 application that runs in
- using WOW (Windows on Windows) box under Windows NT. It seamlessly
- invokes the 32-bit compiler to generate applications for Win32s or
- Windows NT.
-
- ObjectWindows/32
-
- The ObjectWindows application framework has simplified Windows
- development for thousands of programmers. This new version extends
- on the basic concepts of ObjectWindows by encapsulating more of the
- Windows API. The Graphics Device Interface (GDI) is encapsulated to
- simplify the use of brushes, pens, fonts, bitmaps and new
- functionality introduced by Win32 under NT such as Bezier curves and
- paths. In addition, often used services such as Object Linking and
- Embedding (OLE) and Dynamic Data Exchange (DDE) will also be
- encapsulated in ObjectWindows/32.
-
- ObjectWindows/32 will feature single source code for 16-bit Windows
- and Win32 applications. This capability will allow programmers to
- build applications for 16-bit Windows without preventing their
- migration to Win32s or Windows NT. Applications built with the
- current 16-bit ObjectWindows will easily migrate to ObjectWindows/32
- because many of the changes forced by Win32 are already encapsulated
- in ObjectWindows.
-
- For example, changes to the packing of wParam and lParam impact the
- way many messages are processed. But the most common messages that
- are affected, such as WM_COMMAND, are encapsulated in classes within
- ObjectWindows. Consequently, programs written to the ObjectWindows
- application framework will experience a minimum of change porting to
- ObjectWindows/32.
-
- Portability Considerations
-
- Programmers interested in porting their existing ObjectWindows
- applications to ObjectWindows/32 when it is available can prepare by
- following "Portable Coding Techniques" in the Microsoft Overview of
- Win32 Applications Programming Interface. Borland highly recommends
- the use of the STRICT macro to ensure better compiler type checking.
- The STRICT macro is supported in the version of ObjectWindows that
- comes with Borland C++ & Application Frameworks 3.1.
-
- Command-Line Tools
-
- Although Borland pioneered the integrated development environment,
- Borland C++ for Win32 also comes with a complete complement of
- command-line tools including a compiler, linker, UNIX like MAKE
- facility, and GREP. These are all 32-bit tools with greater
- performance and capacity than their 16-bit counterparts. Run Time
- Library
-
- The run time library supports the ANSI C standard and AT&T C++ 3.0
- including streams and complex numbers as well as a complete set of
- container classes. It has a high degree of compatibility with
- Microsoft C so that applications built with that compiler can easily
- be ported to Borland C++. The runtime library has added support for
- multiple threads.
-
- Debugger and Tools
-
- Turbo Debugger
-
- Turbo Debugger has always featured the most advanced user interface
- for debugging C and C++. It allows the user to inspect data
- structures with a simple point and click metaphor. It has a
- hierarchy browser to aid C++ debugging and supports C++ expression
- evaluation. Debugging Windows messages is integrated into the
- debugging model. Turbo Debugger for Windows NT adds debugging support
- for multiple threads.
-
- Resource Workshop
-
- Resource Workshop is Borland's integrated resource creation, editing
- and management tool. It provides the developer with multiple
- representations of resources to allow the most convenient editing
- paradigm. This tool integrates the editing of all types of resources
- into a single package with a project manager for managing resources.
- Resource Workshop supports the new 32-bit resources required by
- Win32.
-
- Resource Workshop also includes the Borland Windows Custom Controls
- (BWCC) package for Win32. This predefined set of custom controls can
- be added to your applications using Resource Workshop and give your
- application a more appealing look than the standard Windows controls.
- Applications currently using BWCC under Windows 3.1 will have an
- equivalent set of controls running under Windows NT.
-
- Turbo Assembler
-
- Borland C++ for Win32 comes with a 32-bit version of Turbo Assembler
- that supports 386 and 486 assembly language. Turbo Assembler has
- optimizations to reduce NOPs from assembler generated code and
- object-oriented extensions.
-
-
- SDK Tools
-
- Borland will provide a complement of SDK tools in addition to
- Resource Workshop. Tools such as WinSight for tracking messages and
- other tools will be available. Borland will also license the
- necessary tools from Microsoft, such as Win32s, to provide a complete
- array of software and documentation for the development of Win32s and
- Win32 APIs.
-
- Documentation
-
- Documentation for Borland C++ for Win32 will include a comprehensive
- array of manuals on using Borland's development environment and tools
- including Win32 API.
-
-
- Summary
-
- Borland C++ for Win32 is Borland's premier entry into the 32-bit
- Windows programming world. Borland expects Win32s will be a very
- important mass market delivery environment in 1993 and for Windows NT
- will be an ideal development environment for professional developers.
- Borland is committed to providing its leading edge C++ development
- tools for these operating environments within twelve weeks of their
- commercial availability. Borland tools are distinguished in their
- advanced implementation of C++, compile speed, Windows hosted
- development environment, object-oriented application framework and
- the surrounding toolset that professionals have come to expect. With
- Borland C++ for Win32, Borland will continue to advance the
- state-of-the-art in development tools.
-
-
-
- Question And Answers: Borland C++ for Win32
-
-
- Q: Do I need the NT Software Developer's Kit (SDK) to use Borland C++
- for Win32?
-
- A: Yes. To use the pre-release version Borland C++ for Win32, you
- must first be a tester of the Windows/NT SDK. Beta test copies can
- be obtained from Microsoft by calling Microsoft Developer Services at
- 1 800 227-4679. Once Borland C++ for Win32 is commercially
- available, no SDK will be required.
-
- Q: How much will Borland C++ for Win32 cost?
-
- A: The price of the product will be announced when Borland C++ for
- Win32 is released commercially. Pre-release versions of Borland C++
- for Win32 will be available for a fee as part of our Early Experience
- Program.
-
- Q: What new features will Borland C++ for Win32 have?
-
- A: The most notable additional features in Borland C++ for Win32 are
- a 32-bit optimizing C and C++ compiler, a 16/32-bit capable version
- of the ObjectWindows application framework, multiple thread support
- in the runtime library and Turbo Debugger, and a mechanism for
- structured exception handling.
-
- Q: How can I get Borland C++ for Win32? When?
-
- A: For those developers who need Borland tools for Win32s and Windows
- NT, there will be an Early Experience Program (EEP) for Borland C++
- for Win32. This fee-based program will start in the Q4 1992. A
- request form is included in the Borland attendee kit or at the
- Borland Exhibit booth. This form is your request for more information
- and for an application for the Early Experience Program. We will take
- applications until August 15, 1992. There will be a limited number of
- participants in this program.
-
- You can also send a request letter or electronic mail message to:
-
- David Intersimone
- Director, Developer Relations
- Languages Business Unit
- Borland International
- 1700 Green Hills Road
- Scotts Valley, CA 95066
- MCI: 297-2255
- Compuserve: 76067,512
-
- Q: How do I get Borland C++ for Win32 if I am already a beta tester
- for Borland C++?
-
- A: Beta testers of Borland C++ will be given a separate application
- for testing Borland C++ for Win32. For more information, contact
- your Borland beta administrator.
-
-
- Q: When will Borland C++ for Win32 be commercially available?
-
- A: Borland C++ for Win32 will be commercially available within twelve
- weeks after Microsoft releases Windows/NT.
-
- Q: Will Borland C++ for Win32 include ObjectWindows?
-
- A: Yes. ObjectWindows has been enhanced to support 16 and 32-bit
- Windows development and will be included in Borland C++ for Win32.
-
- Q: Will ObjectWindows/32 support the advanced Win32 features?
-
- A: ObjectWindows/32 will contain a number of new features, including
- GDI encapsulation and OLE support. When it makes sense, we will
- encapsulate the features of the extended API. In either case, the
- complete API will be available to the user of ObjectWindows/32.
-
- Q: Is there an upgrade price to Borland C++ for Win32?
-
- A: Borland will provide an upgrade path for users of Borland C++ 3.1
- and for users of Borland C++ for OS/2.
-
- Q: Will Borland C++ for Win32 also generate 32-bit DPMI applications?
- OS/2 1.x? OS/2 2.0?
-
- A: The platforms targeted by Borland C++ for Win32 will be Win32 and
- Win32s.
-
- Q: When will Turbo Pascal for Win32 be available?
-
- A: Turbo Pascal will support Win32s in a future release but no
- announcements as to availability are being made at this time.
-
- Q: Will Borland C++ for Win32 support structured exception handling?
-
- A: Yes. Borland C++ for Win32 will have a mechanism for implementing
- structured exception handling.
-
- Q: Is Borland's Win32s compatible with Microsoft's Win32s?
-
- A: Borland is licensing Win32s from Microsoft.
-
- Q: When will Win32s be available for beta test?
-
- A: Borland is working with Microsoft to determine that date.
-
- Q: Can I mix 16-bit and 32-bit code in an application with Borland
- C++ for Win32?
-
- A: Currently, neither NT nor Win32s support this feature.
-
- Q: Will Borland C++ for Win32 support multiple threads?
-
- A: Yes, Borland C++ for Win32 will fully support multiple threads in
- the runtime library and in the debugger.
-
- Q: Are my ObjectWindows (OWL) applications for Windows 3.1 portable
- to NT?
-
- A: We will make the transition from 16-bit OWL programs to 32-bit
- Win32 OWL programs as smooth as possible. If a porting tool is
- necessary, one will be provided. It is our intent to allow easy
- migration to Win32.
-
- Q: Will Borland C++ for Win32 support the Microsoft Object Mapping?
- Will it be link compatible?
-
- A: No. Our C++ object format will remain different from Microsoft's
- and will continue to offer advantages in performance, size and
- implementation of C++. We will maintain DLL compatibility for C
- programs.
-
- Q: Will Borland C++ for Win32 support the Microsoft Foundation
- Classes?
-
- A: Borland C++ currently supports the Microsoft Foundation Classes
- provided that necessary changes are made to make the source code
- compliant to the C++ language definition (v. 2.1 or greater) and to
- remove the compiler dependent implementation issues. As long as
- Microsoft makes the foundation classes C++ compliant, Borland C++
- will be able to support them.
-
- Q: What documentation comes with Borland C++ for Win32?
-
- A: Borland will provide documentation to describe the use of its
- tools under Win32 and the Win32 API. Documentation on the internals
- of Win32 will be available separately from Microsoft and third party
- publishers.
-
- Q: Will I need a CD ROM drive to use Borland C++ for Win32?
-
- A: As with NT, the primary medium for Borland C++ will be a CD ROM.
- Borland C++ will also be available in both 5.25 and 3.5" diskette
- formats.
-
- Q: What is Win32 and how does it differ from NT?
-
- A: Win32 is a 32-bit applications programming interface. It is an
- extension of the existing 16-bit Windows API that includes additional
- functionality such as multitasking, networking, Bezier curves,
- security, etc. NT is a new portable operating system kernel from
- Microsoft that supports the Win32 API.
-
- Q: What is Win32s?
-
- A: Win32s is a subset of the Win32 applications programming interface
- that can be implemented under Windows 3.1 while it is running on DOS.
- Win32s applications have the same executable format as NT
- applications and thus can run under either Windows 3.1 or Windows/NT.
- For a more detailed description of Win32s, see the Borland C++ for
- Win32: A Technical Overview document.
-
- Q: Will I need to sign a non-disclosure to get support for NT?
-
- A: Yes. Borland will be sponsoring an Early Experience Program for
- Win32 development. To participate in this program, you will need to
- sign a non-disclosure agreement. You will also need to obtain the NT
- SDK beta available from Microsoft.
-
-
- Q: Will Borland include Brief in Borland C++ for Win32?
-
- A: Other tools and utilities may be provided with Borland C++ for
- Win32. The details of what additional tools the product will contain
- will be available to the Early Experience Program participants.
-
- Q: Will Borland include source code control in Borland C++ for Win32?
-
- A: Other tools and utilities may be provided with Borland C++ for
- Win32. The details of what additional tools the product will contain
- will be available to the Early Experience Program participants.
-
- Q: Will Borland C++ for Win32 support MIPS? Alpha?
-
- A: Not at this time. Borland's development tools efforts are focused
- on building the best of breed tools for the Intel architecture.
-
- Q: Will there be a Resource Workshop for NT?
-
- A: Yes. Resource Workshop is an integral part of the Borland C++
- toolset. There will be an NT version of Resource Workshop included
- in Borland C++ for Win32.
-
- Q: Will Borland C++ 3.1 support Win32s? NT?
-
- A: Borland C++ 3.1 is a 16-bit compiler and thus cannot support
- Win32s or NT. Support for these platforms will only be available in
- Borland C++ for Win32.
-
- Q: When will Borland's other applications be available for NT and
- Win32s?
-
- A: Borland believes that these platforms will be important
- application environments in the future but has nothing to announce at
- this time.
-
-
-
-