home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / os / mswindo / programm / win32 / 1947 < prev    next >
Encoding:
Text File  |  1992-11-12  |  22.4 KB  |  520 lines

  1. Newsgroups: comp.os.ms-windows.programmer.win32
  2. Path: sparky!uunet!gossip.pyramid.com!decwrl!borland.com!news!cfortier
  3. From: cfortier@genghis.news (Chris Fortier)
  4. Subject: Re: Does Borland plan to support NT on non-X86 archtectures?
  5. In-Reply-To: hjhoffma@cayley.uwaterloo.ca's message of Wed, 11 Nov 1992 17:56:35 GMT
  6. Message-ID: <CFORTIER.92Nov12144428@genghis.news>
  7. Sender: news@borland.com (News Admin)
  8. Organization: Borland International, Inc.
  9. References: <BxKCIC.5KE@undergrad.math.waterloo.edu>
  10. Date: Thu, 12 Nov 1992 22:44:28 GMT
  11. Lines: 507
  12.  
  13.  
  14. Borland has committed to supporting Windows NT.  Below is a very early(June
  15. time frame) PUBLICLY AVAILABLE press release.
  16.  
  17. Chris Fortier
  18. Borland C++ Run Time Library QA
  19.  
  20. cfortier@borland.com
  21.  
  22.  
  23. ============================================================================
  24.  
  25. Borland C++ for Win32:  A Technical Overview
  26.  
  27.  
  28. Overview
  29.  
  30. Borland International is the leading supplier of object-oriented 
  31. development tools for DOS and Windows.  With the introduction of 
  32. Borland C++ 2.0 in February 1991, Borland pioneered the concept of a 
  33. single package solution for Windows development with no SDK 
  34. requirements.  With ObjectWindows, a component of Borland C++ & 
  35. Application Frameworks, Borland provided the development community 
  36. with a set of object-oriented building blocks for reducing the 
  37. complexity of Windows development in C++.  Borland C++ 3.0 added the 
  38. first Windows hosted development environment for C++.  Borland C++ 
  39. 3.1, introduced in June 1992 on the heels of Microsoft Windows 3.1, 
  40. advances the state-of-the-art of Windows hosted development 
  41. environments, adds 386 and C++ optimizations, and takes full 
  42. advantage of Windows 3.1.
  43.  
  44. Now Borland is announcing support for 32-bit tools for Win32s and 
  45. Windows NT -- Borland C++ for Win32.  Borland sees these 32-bit 
  46. operating environments as critical to its installed base of 
  47. professional developers and new customers who want to build 
  48. industrial strength 32-bit applications for Windows.  Borland is 
  49. leveraging its 32-bit compiler technology built for OS/2 to offer 
  50. programmers advanced object- oriented development tools for the Win32 
  51. and Win32s application programming interfaces.
  52.  
  53. This document gives a technical overview of the upcoming Borland C++ 
  54. for Win32.  It describes the major features added to Borland C++ 
  55. beyond its support for Windows 3.1 and how developers can plan for 
  56. the changes required to port their applications to Win32s or Win32. 
  57. This document assumes the reader has knowledge of Borland C++ 3.1 and 
  58. Windows programming in general.  If more information on Borland C++ 
  59. is necessary, please refer to the Borland C++ & Application 
  60. Frameworks Reviewer's Guide available from Borland.
  61.  
  62. Win32 and Win32s
  63.  
  64. Win32 is an Applications Programming Interface (API) for 32-bit 
  65. versions of Windows.  The API widens the parameters of the existing 
  66. 16 Windows API to 32-bits and adds many functional capabilities with 
  67. new API calls.  The additional functionality of Win32 includes 
  68. support for a 32-bit linear address space, pre- emptive multitasking, 
  69. networking, security, and enhanced graphics functions among other 
  70. capabilities.  Win32 is an API that will first appear on top of 
  71. Microsoft's new operating system technology NT (new technology).  The 
  72. first release of this API will appear in Windows NT, which will have 
  73. the Windows 3.1 user interface model and the full Win32 API.
  74.  
  75. Win32s is a subset of the Win32 API that can be implemented on top of 
  76. the existing 16-bit Windows running in enhanced (386) mode.  Without 
  77. changing the underlying DOS operating system, only the widened 
  78. Windows 3.1 API for a 32-bit linear address can be supported. 
  79. Supporting this capability requires device drivers (VxDs) to handle 
  80. memory management and a DLL to handle a mapping of the Win32 function 
  81. calls to their 16-bit counterparts.  The benefits of this technology 
  82. are two fold: first, a Win32s executable is the same format (Portable 
  83. Executable or PE) as an NT executable so it can run unchanged in both 
  84. environments; and second, applications can take advantage of the 
  85. performance gains associated with a 32-bit linear address space.  As 
  86. a result, application developers can build programs that take 
  87. advantage of the 386 while still appealing to the broad installed 
  88. base of Windows 3.1 users.
  89.  
  90. ------------------------------------------------------------------------- 
  91. UI  |  Windows 3.1     |  Windows 3.1   |   Windows 3.1 |  Windows 3.x 
  92. ----|------------------|----------------|---------------|---------------- 
  93. API |  16-bit Win API  |    Win32s      |      Win32    |     Win32 
  94.     |                  | 16-bit Win API |               | 
  95. ----|------------------|----------------|---------------|---------------- 
  96. OS  |  16-bit DOS      |  16-bit DOS    |       NT      |NT or 32-bit DOS 
  97. -------------------------------------------------------------------------
  98.  
  99. The above table depicts the chronological evolution of Windows as it 
  100. might be viewed by developers. It helps delineate the relationship of 
  101. the user interface model, i.e., the look and feel, to the API, and 
  102. the API to the operating system.  Note that the user interface model 
  103. refers to Windows 3.1.  The model can be thought of as the Program 
  104. Manager, the applets, and the general look to user interface 
  105. components.  The API is the set of functions that programmers use to 
  106. build their applications.  The operating system refers to the core 
  107. set of functions that are called to manage memory, handle file I/O, 
  108. get input from a variety of devices including the keyboard and the 
  109. mouse, and handle the display.
  110.  
  111. The full Win32 API requires advanced operating system functions that 
  112. are not available in 16-bit DOS, e.g., support for multi-threading. 
  113. Win32s is an intermediate step until a 32-bit version of DOS that 
  114. supports more of the Win32 API.  The additional overhead of thunking 
  115. down to 16-bit Windows calls under Win32s will reduce some of the 
  116. increased performance gained from running a 32-bit application.  When 
  117. Microsoft releases a 32-bit version of DOS, a 32-bit version of 
  118. Windows (3.x) will enable Win32 applications to run on DOS without a 
  119. thunking layer.  Product Overview 
  120.   
  121. Borland C++ for Win32 is a new generation of Borland C++ that only 
  122. targets applications for Win32s and NT on Intel architectures.  The 
  123. first generation of Borland C++ for Win32 is focused on targeting 
  124. these platforms exclusively.  New functionality will appear in areas 
  125. of the product where it is necessary to support 32-bit development 
  126. under Win32s or NT, such as the addition of exception handling or 
  127. multi- threaded libraries.  Other new features have been added to aid 
  128. programmers in moving between 16-bit Windows development and Win32 
  129. such as an enhanced version of the ObjectWindows application 
  130. framework that supports 16 to 32-bit source code portability and 
  131. expanded coverage of the Windows API.  The goal for Borland C++ for 
  132. Win32 is to provide a world class development environment for C and 
  133. C++ that reduces the complexity of developing 32-bit Windows 
  134. applications -- all in a single box solution.
  135.  
  136.  
  137. Compiler 
  138.  
  139. Borland C++ for Win32 features a 32-bit hosted compiler that supports 
  140. ANSI C and AT&T C++ 3.0.  The C++ compiler supports a native code 
  141. implementation of templates and is the most compliant C++ 
  142. implementation available on PCs.  Borland C++ will continue to push 
  143. the limits of speed compilation with its exceptionally fast 
  144. front-end/back-end and precompiled headers technology.  Borland C++ 
  145. speed of compilation only decreases by 50% with full optimizations.  
  146.  
  147. The new 32-bit optimization technology features highly sophisticated 
  148. register allocation with priority based coloring.  The optimizer uses 
  149. state-of-the-art data flow and data dependency analysis to achieve 
  150. superior code quality for the Intel 386/486 architecture.  The 
  151. compiler provides additional debugging information to enhance the 
  152. debugging of optimized code.  
  153.  
  154. The NT kernel requires support for structured exception handling to 
  155. service a variety of error conditions that can occur in an 
  156. application such as floating point exceptions.  Exception handling is 
  157. a generic mechanism available to applications to handle error 
  158. conditions as non local exits from a procedure.  Borland C++ for 
  159. Win32 has support for exception handling.
  160.  
  161.  
  162. Integrated Development Environment
  163.  
  164. Borland C++ for Windows is the Windows hosted integrated development 
  165. environment.  It features a single environment in which you can edit, 
  166. compile, resource compile, link and run your application.  The macro 
  167. based editor features color syntax highlighting so that you can 
  168. control the display of C/C++ syntax with fonts and color.  Borland 
  169. C++ for Windows has a project manager that functions as a visual make 
  170. facility for building your applications.  The project manager 
  171. understands how to process each of the files that make up your 
  172. application to produce an executable -- to compile source files, 
  173. resource compile .RC files, and to use DEF files in the link process. 
  174. It also has a browser to allow you to display your class hierarchy or 
  175. get more details on the structure of classes and variables.
  176.  
  177. Borland C++ for Windows is a Windows 3.1 application that runs in 
  178. using WOW (Windows on Windows) box under Windows NT.  It seamlessly 
  179. invokes the 32-bit compiler to generate applications for Win32s or 
  180. Windows NT.
  181.  
  182. ObjectWindows/32
  183.  
  184. The ObjectWindows application framework has simplified Windows 
  185. development for thousands of programmers.  This new version extends 
  186. on the basic concepts of ObjectWindows by encapsulating more of the 
  187. Windows API.  The Graphics Device Interface (GDI) is encapsulated to 
  188. simplify the use of brushes, pens, fonts, bitmaps and new 
  189. functionality introduced by Win32 under NT such as Bezier curves and 
  190. paths.  In addition, often used services such as Object Linking and 
  191. Embedding (OLE) and Dynamic Data Exchange (DDE) will also be 
  192. encapsulated in ObjectWindows/32.
  193.  
  194. ObjectWindows/32 will feature single source code for 16-bit Windows 
  195. and Win32 applications.  This capability will allow programmers to 
  196. build applications for 16-bit Windows without preventing their 
  197. migration to Win32s or Windows NT.  Applications built with the 
  198. current 16-bit ObjectWindows will easily migrate to ObjectWindows/32 
  199. because many of the changes forced by Win32 are already encapsulated 
  200. in ObjectWindows. 
  201.  
  202. For example, changes to the packing of wParam and lParam impact the 
  203. way many messages are processed.  But the most common messages that 
  204. are affected, such as WM_COMMAND, are encapsulated in classes within 
  205. ObjectWindows.  Consequently, programs written to the ObjectWindows 
  206. application framework will experience a minimum of change porting to 
  207. ObjectWindows/32.
  208.  
  209. Portability Considerations
  210.  
  211. Programmers interested in porting their existing ObjectWindows 
  212. applications to ObjectWindows/32 when it is available can prepare by 
  213. following "Portable Coding Techniques" in the Microsoft Overview of 
  214. Win32 Applications Programming Interface.  Borland highly recommends 
  215. the use of the STRICT macro to ensure better compiler type checking. 
  216. The STRICT macro is supported in the version of ObjectWindows that 
  217. comes with Borland C++ & Application Frameworks 3.1.
  218.  
  219. Command-Line Tools
  220.  
  221. Although Borland pioneered the integrated development environment, 
  222. Borland C++ for Win32 also comes with a complete complement of 
  223. command-line tools including a compiler, linker, UNIX like MAKE 
  224. facility, and GREP.  These are all 32-bit tools with greater 
  225. performance and capacity than their 16-bit counterparts.  Run Time 
  226. Library
  227.  
  228. The run time library supports the ANSI C standard and AT&T C++ 3.0 
  229. including streams and complex numbers as well as a complete set of 
  230. container classes.  It has a high degree of compatibility with 
  231. Microsoft C so that applications built with that compiler can easily 
  232. be ported to Borland C++.  The runtime library has added support for 
  233. multiple threads.  
  234.  
  235. Debugger and Tools
  236.  
  237. Turbo Debugger
  238.  
  239. Turbo Debugger has always featured the most advanced user interface 
  240. for debugging C and C++.  It allows the user to inspect data 
  241. structures with a simple point and click metaphor.  It has a 
  242. hierarchy browser to aid C++ debugging and supports C++ expression 
  243. evaluation.  Debugging Windows messages is integrated into the 
  244. debugging model. Turbo Debugger for Windows NT adds debugging support 
  245. for multiple threads.
  246.  
  247. Resource Workshop
  248.  
  249. Resource Workshop is Borland's integrated resource creation, editing 
  250. and management tool.  It provides the developer with multiple 
  251. representations of resources to allow the most convenient editing 
  252. paradigm.  This tool integrates the editing of all types of resources 
  253. into a single package with a project manager for managing resources. 
  254. Resource Workshop supports the new 32-bit resources required by 
  255. Win32.  
  256.  
  257. Resource Workshop also includes the Borland Windows Custom Controls 
  258. (BWCC) package for Win32.  This predefined set of custom controls can 
  259. be added to your applications using Resource Workshop and give your 
  260. application a more appealing look than the standard Windows controls. 
  261. Applications currently using BWCC under Windows 3.1 will have an 
  262. equivalent set of controls running under Windows NT.
  263.  
  264. Turbo Assembler
  265.  
  266. Borland C++ for Win32 comes with a 32-bit version of Turbo Assembler 
  267. that supports 386 and 486 assembly language.  Turbo Assembler has 
  268. optimizations to reduce NOPs from assembler generated code and 
  269. object-oriented extensions.
  270.  
  271.  
  272. SDK Tools
  273.  
  274. Borland will provide a complement of SDK tools in addition to 
  275. Resource Workshop.  Tools such as WinSight for tracking messages and 
  276. other tools will be available.  Borland will also license the 
  277. necessary tools from Microsoft, such as Win32s, to provide a complete 
  278. array of software and documentation for the development of Win32s and 
  279. Win32 APIs.
  280.  
  281. Documentation
  282.  
  283. Documentation for Borland C++ for Win32 will include a comprehensive 
  284. array of manuals on using Borland's development environment and tools 
  285. including Win32 API.
  286.  
  287.  
  288. Summary
  289.  
  290. Borland C++ for Win32 is Borland's premier entry into the 32-bit 
  291. Windows programming world.  Borland expects Win32s will be a very 
  292. important mass market delivery environment in 1993 and for Windows NT 
  293. will be an ideal development environment for professional developers. 
  294. Borland is committed to providing its leading edge C++ development 
  295. tools for these operating environments within twelve weeks of their 
  296. commercial availability.  Borland tools are distinguished in their 
  297. advanced implementation of C++, compile speed, Windows hosted 
  298. development environment, object-oriented application framework and 
  299. the surrounding toolset that professionals have come to expect.  With 
  300. Borland C++ for Win32, Borland will continue to advance the 
  301. state-of-the-art in development tools.
  302.  
  303.   
  304.  
  305. Question And Answers:  Borland C++ for Win32
  306.  
  307.  
  308. Q: Do I need the NT Software Developer's Kit (SDK) to use Borland C++ 
  309. for Win32?
  310.  
  311. A: Yes.  To use the pre-release version Borland C++ for Win32, you 
  312. must first be a tester of the Windows/NT SDK.  Beta test copies can 
  313. be obtained from Microsoft by calling Microsoft Developer Services at 
  314. 1 800 227-4679.  Once Borland C++ for Win32 is commercially 
  315. available, no SDK will be required.
  316.  
  317. Q: How much will Borland C++ for Win32 cost?
  318.  
  319. A: The price of the product will be announced when Borland C++ for 
  320. Win32 is released commercially.  Pre-release versions of Borland C++ 
  321. for Win32 will be available for a fee as part of our Early Experience 
  322. Program.
  323.  
  324. Q: What new features will Borland C++ for Win32 have?
  325.  
  326. A: The most notable additional features in Borland C++ for Win32 are 
  327. a 32-bit optimizing C and C++ compiler, a 16/32-bit capable version 
  328. of the ObjectWindows application framework, multiple thread support 
  329. in the runtime library and Turbo Debugger, and a mechanism for 
  330. structured exception handling. 
  331.  
  332. Q: How can I get Borland C++ for Win32?  When?
  333.  
  334. A: For those developers who need Borland tools for Win32s and Windows 
  335. NT, there will be an Early Experience Program (EEP) for Borland C++ 
  336. for Win32.  This fee-based program will start in the Q4 1992. A 
  337. request form is included in the Borland attendee kit or at the 
  338. Borland Exhibit booth. This form is your request for more information 
  339. and for an application for the Early Experience Program. We will take 
  340. applications until August 15, 1992. There will be a limited number of 
  341. participants in this program.
  342.  
  343. You can also send a request letter or electronic mail message to:
  344.  
  345.     David Intersimone 
  346.     Director, Developer Relations 
  347.     Languages Business Unit 
  348.     Borland International 
  349.     1700 Green Hills Road 
  350.     Scotts Valley, CA 95066 
  351.     MCI: 297-2255 
  352.     Compuserve: 76067,512
  353.  
  354. Q: How do I get Borland C++ for Win32 if I am already a beta tester 
  355. for Borland C++?
  356.  
  357. A: Beta testers of Borland C++ will be given a separate application 
  358. for testing Borland C++ for Win32.  For more information, contact 
  359. your Borland beta administrator.
  360.  
  361.  
  362. Q: When will Borland C++ for Win32 be commercially available?
  363.  
  364. A: Borland C++ for Win32 will be commercially available within twelve 
  365. weeks after Microsoft releases Windows/NT.  
  366.  
  367. Q: Will Borland C++ for Win32 include ObjectWindows?
  368.  
  369. A: Yes.  ObjectWindows has been enhanced to support 16 and 32-bit 
  370. Windows development and will be included in Borland C++ for Win32.
  371.  
  372. Q: Will ObjectWindows/32 support the advanced Win32 features?
  373.  
  374. A: ObjectWindows/32 will contain a number of new features, including 
  375. GDI encapsulation and OLE support.  When it makes sense, we will 
  376. encapsulate the features of the extended API.  In either case, the 
  377. complete API will be available to the user of ObjectWindows/32.
  378.  
  379. Q: Is there an upgrade price to Borland C++ for Win32?
  380.  
  381. A: Borland will provide an upgrade path for users of Borland C++ 3.1 
  382. and for users of Borland C++ for OS/2.
  383.  
  384. Q: Will Borland C++ for Win32 also generate 32-bit DPMI applications? 
  385. OS/2 1.x?  OS/2 2.0?
  386.  
  387. A: The platforms targeted by Borland C++ for Win32 will be Win32 and 
  388. Win32s.  
  389.  
  390. Q: When will Turbo Pascal for Win32 be available?
  391.  
  392. A: Turbo Pascal will support Win32s in a future release but no 
  393. announcements as to availability are being made at this time.
  394.  
  395. Q: Will Borland C++ for Win32 support structured exception handling?
  396.  
  397. A: Yes.  Borland C++ for Win32 will have a mechanism for implementing 
  398. structured exception handling. 
  399.  
  400. Q: Is Borland's Win32s compatible with Microsoft's Win32s?
  401.  
  402. A: Borland is licensing Win32s from Microsoft. 
  403.  
  404. Q: When will Win32s be available for beta test?
  405.  
  406. A: Borland is working with Microsoft to determine that date.
  407.  
  408. Q: Can I mix 16-bit and 32-bit code in an application with Borland 
  409. C++ for Win32?
  410.  
  411. A: Currently, neither NT nor Win32s support this feature.
  412.  
  413. Q: Will Borland C++ for Win32 support multiple threads?
  414.  
  415. A: Yes, Borland C++ for Win32 will fully support multiple threads in 
  416. the runtime library and in the debugger.  
  417.  
  418. Q: Are my ObjectWindows (OWL) applications for Windows 3.1 portable 
  419. to NT? 
  420.  
  421. A: We will make the transition from 16-bit OWL programs to 32-bit 
  422. Win32 OWL programs as smooth as possible.  If a porting tool is 
  423. necessary, one will be provided.  It is our intent to allow easy 
  424. migration to Win32. 
  425.  
  426. Q: Will Borland C++ for Win32 support the Microsoft Object Mapping? 
  427. Will it be link compatible?
  428.  
  429. A: No.  Our C++ object format will remain different from Microsoft's 
  430. and will continue to offer advantages in performance, size and 
  431. implementation of C++.  We will maintain DLL compatibility for C 
  432. programs.
  433.  
  434. Q: Will Borland C++ for Win32 support the Microsoft Foundation 
  435. Classes?
  436.  
  437. A: Borland C++ currently supports the Microsoft Foundation Classes 
  438. provided that necessary changes are made to make the source code 
  439. compliant to the C++ language definition (v. 2.1 or greater) and to 
  440. remove the compiler dependent implementation issues.  As long as 
  441. Microsoft makes the foundation classes C++ compliant, Borland C++ 
  442. will be able to support them.
  443.  
  444. Q: What documentation comes with Borland C++ for Win32?
  445.  
  446. A: Borland will provide documentation to describe the use of its 
  447. tools under Win32 and the Win32 API.  Documentation on the internals 
  448. of Win32 will be available separately from Microsoft and third party 
  449. publishers.
  450.  
  451. Q: Will I need a CD ROM drive to use Borland C++ for Win32?
  452.  
  453. A: As with NT, the primary medium for Borland C++ will be a CD ROM. 
  454. Borland C++ will also be available in both 5.25 and 3.5" diskette 
  455. formats.
  456.  
  457. Q: What is Win32 and how does it differ from NT?
  458.  
  459. A: Win32 is a 32-bit applications programming interface.  It is an 
  460. extension of the existing 16-bit Windows API that includes additional 
  461. functionality such as multitasking, networking, Bezier curves, 
  462. security, etc.  NT is a new portable operating system kernel from 
  463. Microsoft that supports the Win32 API.  
  464.  
  465. Q: What is Win32s?
  466.  
  467. A: Win32s is a subset of the Win32 applications programming interface 
  468. that can be implemented under Windows 3.1 while it is running on DOS. 
  469. Win32s applications have the same executable format as NT 
  470. applications and thus can run under either Windows 3.1 or Windows/NT. 
  471. For a more detailed description of Win32s, see the Borland C++ for 
  472. Win32: A Technical Overview document.
  473.  
  474. Q: Will I need to sign a non-disclosure to get support for NT?
  475.  
  476. A: Yes.  Borland will be sponsoring an Early Experience Program for 
  477. Win32 development.  To participate in this program, you will need to 
  478. sign a non-disclosure agreement.  You will also need to obtain the NT 
  479. SDK beta available from Microsoft.
  480.  
  481.  
  482. Q: Will Borland include Brief in Borland C++ for Win32?
  483.  
  484. A: Other tools and utilities may be provided with Borland C++ for 
  485. Win32.  The details of what additional tools the product will contain 
  486. will be available to the Early Experience Program participants.
  487.  
  488. Q: Will Borland include source code control in Borland C++ for Win32?
  489.  
  490. A: Other tools and utilities may be provided with Borland C++ for 
  491. Win32.  The details of what additional tools the product will contain 
  492. will be available to the Early Experience Program participants.
  493.  
  494. Q: Will Borland C++ for Win32 support MIPS?  Alpha?
  495.  
  496. A: Not at this time.  Borland's development tools efforts are focused 
  497. on building the best of breed tools for the Intel architecture.
  498.  
  499. Q: Will there be a Resource Workshop for NT?
  500.  
  501. A: Yes.  Resource Workshop is an integral part of the Borland C++ 
  502. toolset.  There will be an NT version of Resource Workshop included 
  503. in Borland C++ for Win32.
  504.  
  505. Q: Will Borland C++ 3.1 support Win32s? NT?
  506.  
  507. A: Borland C++ 3.1 is a 16-bit compiler and thus cannot support 
  508. Win32s or NT.  Support for these platforms will only be available in 
  509. Borland C++ for Win32.
  510.  
  511. Q: When will Borland's other applications be available for NT and 
  512. Win32s?
  513.  
  514. A: Borland believes that these platforms will be important 
  515. application environments in the future but has nothing to announce at 
  516. this time.
  517.  
  518.  
  519.  
  520.