Acorn C/C++ Development Suite Release 6.03, 6 November 2002 © 2002 Castle Technology ---------------------------------------------------------------------- Release Notes This is release 6.03 of the Acorn C/C++ Development Environment. It provides a powerful development environment for producing RISC OS desktop applications and relocatable modules using C, C++, assembler or BASIC. It is a major update to Acorn's original C/C++ package and includes new versions of the C compiler, linker, assembler, make, cmhg and amu tools. It also includes comprehensive documentation and several extras, including a BASIC compiler, PDF reader, Perl interpreter, Zap and StrongEd text editors and StrongHelp help system. See the C/C++ Support Page for the latest updates and news regarding this software. Software The Acorn C/C++ Development Environment includes the following copyrighted software: Acorn C/C++ Compiler The C compiler now provides many C99 features and library functions and by default it generates code which is compatible with both 26-bit and 32-bit versions of RISC OS. Note that the Shared C Library, CallaSWI and Toolbox modules supplied here must be distributed with your application if you use the compiler in its default 32-bit mode or if you use any of the C99 features. The C/C++ manual describes all of the new features in the C compiler, including many C99 features (64 bit integers etc), new command line options and new pragmas. See appendix A for details of the changes since the Acorn C/C++ manual, first edition, 1994. Acorn ARM Assembler The ARM assembler now provides support for ARM architectures up to ARM 5TE, including ARM9, ARM10 and XScale processors. See the Assembler manual for details of the new command line options and in particular, see Appendix A for a summary of the changes. For more details on the new instructions and other features in this assembler which are not described in the manual see the ObjAsm Change Log. Tools The other tools are described in the Tools manual and include Link, DDT (Desktop Debugging Tool), Make, AMU, Diff and Find. The Makefile syntax has been updated with many features from Gnu Makefiles, including string functions, include files and conditional directives and functiions. The FrontEnd module has been extended to allow more sophisticated rules for controlling icons and fields. See Appendix A for a list of the major changes. Toolbox The Toolbox manual describes the Toolbox modules and tools that may be used for the rapid development of RISC OS desktop applications. This manual is identical to the Toolbox manual supplied with the fifth release of the Acorn C/C++ Development Environment in 1994. ABC BASIC Compiler A BBC BASIC compiler which is fully 32-bit compatible. It will run under a 32-bit version of RISC OS and it will generate 32-bit executable code. See the ABC Release Note for details. SID Disassembler SID is a new dis-assembler capable of generating ObjAsm format listings. It can be used to analyse existing code and warn of any code sequences which may potentially cause problems when executed in 32-bit mode. See the SID Manual for more details. Public Domain Software The following public domain software is also included: PDF A viewer to display and print Adobe Portable Document Format (PDF) files. Zap A powerful text editor for programmers with syntax colouring; editing modes for common filetypes (including C, BASIC, HTML, ARM assembler and Perl); learned key sequences; multiple views onto the same file and throwback support to simplify locating errors reported by compilers and other tools. StrongEd Another powerful editor to rival Zap. StrongHelp Interactive Help system with documentation on C, HTML, assembler and BASIC keywords as well as on many system calls (SWIs). FTPc An easy to use FTP client using the Internet File Transfer Protocol. Useful for downloading files and for uploading web pages and scripts to web servers etc. PERL An interpreted programming language with powerful file, data and string manipulation facilities. Perl is available for a wide range of platforms including Unix, Windows, and Epoc/Symbian. This RISC OS version is based on Perl 5.005 and offers extremely good compatibility with Perl on other platforms. The following books are recommended for serious Perl programmers: * Programming Perl, Larry Wall, Tom Christiansen & Randal L. Schwartz, second edition, 1996, O'Reilly * Perl Cookbook , Tom Christiansen & Nathan Torkington, first edition, 1999, O'Reilly PDF and FTPc are both 32-bit compatible. Check the C/C++ Support Page or the relevant web site for news of 32-bit versions of Zap, StrongEd, StrongHelp and Perl. Documentation The following manuals are included in PDF format: * C manual* * Tools manual* * Acorn Assembler manual* * Toolbox manual * RISC OS 3 Programmer's Reference Manual * RISC OS 3 Style Guide * ABC Release Note * The first three manuals have been updated significantly since the original Acorn C/C++ release and describe the new features of the C compiler, Assembler and other tools. Note that although you can click on a PDF link to open the PDF manuals it is likely to be slow as most web browsers load the file before using PDF to open it. It is much quicker to open the PDF file directly by double-clicking on the relevant file in the PDF directory. The other manuals have not been updated since the original printed Acorn manuals were published. They contain exactly the same content, but in some cases the page numbering will be slightly different to the printed versions as the font styles have had to be changed. The page numbers here are consistent, ie the page numbers in the contents, index and references represent the page numbers in these documents - it is just the original printed manuals which may be a couple of pages different. Notes on Using PDF Manuals These PDF manuals may be viewed on screen or printed using the supplied !PDF program. The manuals make full use of the cross-referencing facilities in PDF so it is easy to browse through a contents or an index page and click on a link to jump to the relevant section. In order to use the Colin Granville's public domain PDF viewer, as supplied here, it is necessary to install the latest Shared C Library and this will be installed into !System by the installer. Once the Shared C Library installed, simply double-click on a PDF document to open it. The manuals make extensive use of links within (and between) PDF documents. Click on a link with Select to jump to the relevant part of the manual or click with Adjust to open it in a new window - this is particularly useful when using index pages which you want to keep open. Note that the pointer changes to a hand when it is over a link. There is also a useful Highlight links option on the Display menu which can be used to make the links appear in blue and it is recommended that this option be turned on so that cross-references can easily be seen. Note that the Save Choices option on the Display menu may be used to set this as the default for when PDF is next used. The view scale may be changed using the Scale option on the Display menu and it is recommended that this be set such that a whole page will fit within the height of your monitor. (Again Save Choices can be used to remember this setting). The four square buttons at the top of the PDF window can be used to set bookmarks. Click on a square with Adjust to remember the current page and then click the same button with Select to return to that page. The two buttons to the left of the squares can be used to step backwards and forwards through recently viewed pages. Run !PDF and click on Help on the icon bar menu to view PDF's own manual. Documents may be printed in single-sided or double-sided form - simply press the PRINT button when a PDF document is selected. 32-bit Compatibility All of the tools described above, except Zap, StrongEd and Perl are suitable for use on the IYONIX PC using a 32-bit version of RISC OS. The C/C++ compiler, ARM assembler and CMHG utility can be used to generate code which will is compatible with both 26-bit and 32-bit versions of RISC OS, from RISC OS 3.10 to RISC OS 5.00. Pure BASIC programs should run on 32-bit versions of RISC OS with no, or very few, modifications. C programs should run on 32-bit versions with no, or very few, modifications if they are compiled using the new version of the compiler (cc v5.49) and linked with the new Shared C library. Assembler programs will require modifying manually to allow for the fact that the PSR is no longer part of register R15. Note that some APIs will change to allow pointers passed to SWIs to use the full 32-bit addressing range (at present a smll number of SWIs expect a register to hold a 26 bit pointer with flags in the remaining bits). Full details of the API changes will be published separately. For full details on writing software for 32-bit version of RISC OS, see the 32-bit Compatibility Overview and Technical information on 26/32-bit RISC OS binary interfaces. Note that software developed for the IYONIX PC using these new tools should still work on older versions of RISC OS from RISC OS 3.10 onwards. It is not necessary to produce different versions of the software for 26-bit and 32-bit versions of RISC OS or for different machines. Other Documentation In addition to the above documentation described above, the following documents are available in plain text form: 32-bit Compatibility Overview An introduction to writing software for 32-bit versions of RISC OS Technical information on 26/32-bit RISC OS binary interfaces More detailed technical information Changes to APIs in 32 bit versions of RISC OS Some APIs have been changed in RISC OS 5 to make them fully 32-bit compatible. For example, some SWIs are defined as expecting a single register to hold a 26 bit address and several flag bits. This prohibits the full 32-bit addressing range used and could lead to flag corruption where old applications try to use an address high in memory. This document describes some of the API changes, and more details will be published soon. FPContext A description of the context switching capabilities of the new Floating Point Emulator FPEmulator Changes to the Floating Point Emulator C++ Changes to C++ CFront Changes to the CFront tool in this release CMHG Changes to the CMHG (C Module Header Generator) in this release ObjAsm Changes to ObjAsm in this release, including details of the new ARM instructions which are available in later architectures. (These should be avoided if compatibility with older ARM processors is required). ResEd Changes to ResEd in this release TaskWindow Changes to the TaskWindow module, including non-blocking I/O. Viewing and Printing the Manuals on a PC The PDF format manuals may also be viewed and/or printed using the Adobe Acrobat reader in Windows, providing the .pdf filetype extensions are preserved. Credits Many thanks to Pace Micro Technology for the Acorn C/C++ tools; Alan Glover and Pineapple Software for ABC; Colin Granville for PDF and FTPc; Christian Ludlam for StrongEd and StrongHelp; Dominic Symes, James Aylett and Darren Salt for Zap; Nicholas Clark for Perl and Steve Revill for SID. The Acorn manuals were updated and converted by Paul & Tracey Skirrow and the installer was written by Will Ling. ---------------------------------------------------------------------- Copyright © 2002 Castle Technology Ltd C/C++ Support Page