Acorn C/C++

From Wikipedia, the free encyclopedia
Acorn C/C++
Original author(s)Codemist, Acorn Computers
Developer(s)RISC OS Open
Initial release1988; 35 years ago (1988)[specify]
Stable release
31[1] / May 21, 2022; 12 months ago (2022-05-21)
Written inC and Assembly language[citation needed]
Operating systemRISC OS
PlatformARM architecture
LicenceProprietary commercial software

Acorn C/C++ is a set of C/C++ programming tools for use under the RISC OS operating system. The tools use the Norcroft compiler suite and were authored by Codemist and Acorn Computers.[2] The tools provide some facilities offered by a fully integrated development environment.

Acorn included a copy of the Norcroft compiler targeted at the ARM architecture for RISC OS in the following development software.

  • Acornsoft ANSI C – 1988
  • Acornsoft ANSI C (Release 2)
  • Acorn ANSI C (Release 3) – 1989[3]
  • Acorn Desktop C (Release 4)
  • Acorn C/C++ (Release 5) – 1995[4]


Acorn's work on ANSI C compilers was begun around 1987,[2] with a commercial release in 1988 for its Archimedes computer.[5][verification needed] Desktop C and Desktop Assembler were released in 1991.[2] Codemist worked primarily on the ANSI C standard, while Acorn concentrated on the RISC OS specifics and optimisation for the ARM. Both parties exchanged sources regularly.[2][6]

The tools were originally developed by university academics Alan Mycroft and Arthur C Norman of Codemist.[7] Their development was taken up by Acorn and subsequently taken over by Castle Technology, who later added the lacking C99[8] support. Castle funded further development by means of a subscription scheme.[9] In early 2009, development and sales of the tools were transferred to RISC OS Open.[10]

Subsequent enhancements have included adding the post-ARMv5 instructions to the standalone assembler tool, ObjAsm, and code generation by the C compiler to use those instructions where natural to do so from the language.[11] In October 2020 a number of extensions to support the C18 standard were made available to developers.[12]


The Norcroft compiler can be used to produce RISC OS modules, as well as compiling parts of the operating system itself. Before beginning development of the Inform programming language, Graham Nelson originally used Norcroft C to develop his text adventure Curses.[13][14]

The suite of tools is currently the only means of building a working copy of RISC OS, although it is ultimately intended that this will also be possible using a cross compiler, e.g. using the free software GCC system.[15]

See also[edit]


  1. ^ Revill, Steve (2022-06-23). "I'm floatin' around in ABC". RISC OS Open. Retrieved July 1, 2022. Find yourself writing programs in BBC BASIC? Do your programs ever involve floating point maths? Well we've got some good news for you...
  2. ^ a b c d "Interview with Ian Johnson". CAUGers. ACCU. Archived from the original on 2006-06-01. Retrieved 2011-06-30. Acorn began work on ANSI C compilers around 1987. C release 3 was made in 1989, and was followed by Desktop C and Desktop Assembler in 1991. The development of the compiler was a joint venture between Norcroft (at the time Arthur Norman and Alan Mycroft--two academics from Cambridge University Computing Labs) and the PLG at Acorn. Sources were regularly exchanged between both parties but, generally, Norcroft were responsible for adherence to the emerging ANSI standard, whilst Acorn concentrated on the RISC OS specifics of the C library and on common subexpression elimination, register allocation and peephole optimisation for the ARM.
  3. ^ Acorn - ANSI C (Release 3)
  4. ^ Acorn - Sales News 127 - 6th Feb 1995
  5. ^ Norman, A.C. (2005). "Thirty Years of Lisp Support for REDUCE". In Dolzmann, Andreas (ed.). Algorithmic algebra and logic : proceedings of the A3L 2005, April 3–6, Passau, Germany conference in honor of the 60th birthday of Volker Weispfenning. Seidl, Andreas; Sturm, Thomas; Weispfenning, Volker. Passau, Germany. ISBN 978-3-8334-2669-8. OCLC 63200315. In 1989 [...] concurrently working with Alan Mycroft developing the Norcroft [MN88 - 1988] C compiler, and so we were especially well in tune with the emerging ANSI C standard.
  6. ^ "Codemist Compilers / Norcroft". Bath, UK: Codemist Ltd. 2010. Retrieved 2011-10-21. We have created C compilers for a range of computers, from mainframes to embedded special purpose chips. [...] the following partial list will give an idea of the range of our output. Acorn Computers ARM C Compiler. This is the original ANSI C compiler known as Norcroft C.
  7. ^ Mycroft, Alan; Norman, Arthur C. (1992). "Part I: classical imperative languages". Optimising compilation. Cambridge, UK: University of Cambridge, Computer Laboratory. CiteSeerX OCLC 29982690. [...] the 'Norcroft' compiler suite jointly constructed by the authors [...] Commercial interests are referred to Codemist Ltd. [...]
  8. ^ "Norcroft versus GCC". Archived from the original on 2002-04-04. Retrieved 2011-06-16. Norcroft: Faster than GCC to compile programs, probably by about two times. GCC: Supports a much newer C++ implementation than Norcroft, as well as C99.
  9. ^ Williams, Chris (2004-04-29). "CTL launch C/C++ compiler sub scheme". Drobe. Retrieved 2011-06-16. Castle has announced the launch of a subscription scheme for its C/C++ development suite. The scheme aims to fund future development of the compiler suite through annual subscriptions [...]
  10. ^ "News in brief". Drobe. 2009-05-04. Archived from the original on 2014-02-02. Retrieved 2011-06-16. RISC OS Open has taken over sales of the Acorn C/C++ development suite, known as the Norcroft compiler, which is used to build RISC OS.
  11. ^ Revill, Steve (2020-02-21). "New Desktop Development Environment reaches out". RISC OS Open. Latest Norcroft C compiler [...] Code generation now tailored to use ARMv6/v7/v8 extended instructions where possible
  12. ^ Revill, Steve (2020-10-30). "Development easier than A-B-C". RISC OS Open. Retrieved 2023-05-24. The Norcroft C compiler, CC, has been extended to implement the latest C18 (ISO9899:2018) standard
  13. ^ Montfort, Nick (2005). "7 The Independents". Twisty little passages : an approach to interactive fiction. Cambridge, Massachusetts, United States: MIT Press. ISBN 0-262-63318-3. Before Nelson began work on Inform [...] Using an Acorn Archimedes and programming in ANSI C, he quickly abandoned his small game to begin developing Curses, using that to put the in-progress compiler through its paces.
  14. ^ "Interview: Graham Nelson". XYZZY News. Eileen Mullin. Archived from the original on 2008-06-22. Retrieved 2008-10-30. I use two languages, the excellent Norcroft ANSI C compiler and Inform.
  15. ^ Avison, Ben (2010-05-20). "Cross compilation support". RISC OS Open. Retrieved October 21, 2011. [...] the completion of Pace's cross-compilation project – an initial milestone on the path to full cross-compilation support. [...] Most of them build on Linux, targetting RISC OS, using the GCC toolchain [...]

External links[edit]