Open C/C++
With the availability of Open C/C++, the S60 platform — the world’s most popular smartphone platform — is now open to a huge number of developers.
Delivering an extensive range of standard C and C++ APIs, this technology is ideal for porting desktop applications to S60 devices, as well as creating application engines and middleware.
The first additional library, the Real-Time Graphics and Audio (RGA) APIs, extends the options for standard C/C++ developers aiming to create rich user experiences with enhanced audio and graphic effects.

Tips for Selecting Open Source Code for an Open C Project
Read this article to learn which aspects you should consider in your selection of open source code when porting it to the S60 platform with Open C.
Download Open C for S60: Increasing Developer Productivity
This white paper explains how Open C facilitates tapping the full power of the world’s most successful smartphone platform.

What are the benefits?
With Open C/C++ and RGA, the S60 platform becomes a viable development option for a wide range of developers.
The APIs delivered in Open C/C++ make it easy to port existing desktop software to the S60 platform, allowing developers to leverage their investment in code and development skills to take advantage of the growing market for S60 applications. The APIs also help developers who lack knowledge of the Symbian OS and S60 APIs to contribute application engines and middleware to new S60 application projects.
With RGA, Open C/C++ projects can also add UIs with rich audio and graphics to their applications. Developers can write complete applications — especially games — without reference to Symbian OS or S60 APIs.
It is important to note that using the Open C/C++ APIs does not put developers at a disadvantage: The performance characteristics closely match those of similar native S60 APIs.

Open C/C++ and RGA software architecture
What are the limitations of Open C/C++ and RGA?
Open C/C++ and RGA do not provide standard C/C++ APIs for the S60 UI or the S60 application engines, such as calendar, contacts, and messaging applications. To build applications with a standard S60 look and feel, developers will have to use S60 APIs or employ Python for S60. Similarly, to access the standard S60 application engines, Symbian OS and S60 APIs will be required.
What API libraries do Open C/C++ and RGA deliver?
The libraries provided by the Open C/C++ plug-ins include:
- C libraries (Open C) that deliver functions from nine well-known standard POSIX and middleware C libraries, including libc, libdl, libpthread, libm, libz, libcrypt, libcrypto, libglib, and libssl.
- C++ libraries (Open C++) that incorporate the IOStreams, STL, and Boost libraries.
- RGA APIs that provide a set of C++ libraries — for selected devices — that offer features for the creation of UIs with rich audio and graphics for applications such as games.
For more information, see the Open C/C++ Plug-ins for S60 3rd Edition features page »
On which Nokia devices can I run Open C/C++ applications?
Open C/C++ applications and middleware can be run on all S60 3rd Edition devices. Devices based on S60 3rd Edition, Feature Pack 2 have the Open C APIs delivered in their firmware. For all other devices, the Open C/C++ Plug-ins for S60 3rd Edition delivers device plug-ins for Open C and Open C++.
See specifications for S60 3rd Edition devices here »
The RGA APIs are available for selected S60 3rd Edition devices. For more information, see the Open C/C++ Plug-ins for S60 3rd Edition features page. The Open C/C++ Plug-ins for S60 3rd Edition includes the RGA device runtime plug-in.
Are there any examples of the successful use of Open C/C++?
Forum Nokia has prepared several case studies that illustrate the successful use of Open C in porting desktop and server applications to S60. For more information, you can read:



