Open C QuickStart

Overview
Open C is a technology allowing faster application development on the S60 platform. Open C technology provides familiar, standard C function libraries, and allows developers to reuse existing code and focus on maximizing the unique mobility aspects of their applications. Open C reduces the porting effort of existing components (for example, open source software and desktop applications) to the S60 platform. It is especially suitable for non-UI-intensive software, such as application engines.
Open C is based on the POSIX libraries on Symbian OS™ (P.I.P.S.), with five additional open-source libraries.
Benefits of using Open C
Because Open C enables easy porting of C code, developers can benefit from a large, open-source code base instead of having to create everything from scratch. This offers both time-to-market and qualitative advantages.
What developers should already know
Before starting to program with Open C, developers should have a certain level of C programming experience. Note also that when developing a GUI application, developers need to use some other programming language (Symbian C++ or Python) because Open C does not provide UI libraries.
Start here
Before developers begin writing code, they should get an overview by reading Open C for S60: Increasing Developer Productivity. This white paper describes how Open C, including POSIX libraries, increases the efficiency of developers working on products based on Symbian OS, allowing them to draw on existing code and components as part of their development projects.
Play with the tools
Get the development tools
The Open C development environment is integrated in the S60 SDK for Symbian OS (from S60 3rd Edition, Feature Pack 2 onwards). The SDK typically contains header files and libraries, their documentation, a tool chain to build and compile the projects, and a device emulator to test the applications on a PC.
- Download and install S60 3rd Edition, FP2 SDK.
For S60 3rd Edition and S60 3rd Edition, Feature Pack 1, Open C is provided as a plug-in. The plug-in also provides the Open C runtime for those devices.
Development with Open C can be undertaken with any IDE suitable for S60 development. However, Carbide.c++ v1.2 is recommended.
- Download and install the latest Carbide.c++ IDE.
Create an Open C project
At this point developers do not need to program anything—they simply need to become familiar with the development process and tools by building and running an existing Open C example application of the S60 SDK.
Watch the Getting Started with Open C video, which provides an introduction to the tools and processes for using Open C. First the video shows how to download and install the Open C plug-in (only needed for S60 3rd Edition and S60 3rd Edition, Feature Pack 1). Then it illustrates how to use Carbide.c++, and the process of importing, building, and running an application that uses Open C. Finally the video demonstrates how to create a device build of the application and how to install Open C runtime libraries and the application on the device.
Open C applications are supported on any S60 3rd Edition device or later. The Open C runtime libraries are preinstalled on all devices based on S60 3rd Edition, Feature Pack 2 or later. For devices based on earlier releases (S60 3rd Edition and S60 3rd Edition, Feature Pack 1) the runtime libraries can be installed separately or integrated as part of any Open C application package.
Begin studying Open C programming
What is Open C?
Open C is a set of standard base libraries that provide a vendor-neutral (or Linux/Unix-like) C programming interface to the base functionality. The libraries include libc, libcrypt, libcrypto, libdl, libglib, libm, libthread, libssl, and libz.
For a technical introduction to the Open C libraries, developers can choose from the following videos:
Open C Introduction for New S60 Developers, which assumes no prior Symbian OS development experience
Open C Introduction for Experienced S60 Developers, which assumes some prior Symbian OS development experience.
How to port existing code to the S60 platform
- Watch 04401: Porting to S60 Using Open C, an eLearning module that provides students with the basic knowledge and skills they need to port C code to S60 using Open C. The module is intended for developers who have little or no knowledge of Symbian OS, but have some experience in using POSIX/GLIB APIs on other platforms. In addition to the main presentation, this eLearning module also provides a practical demonstration of porting C code to an S60 3rd Edition DLL. The demonstration starts with some existing C code, which uses the GLIB libraries, and shows how to port it step by step to S60.
- Read also the article Tips for Selecting Open Source Code for an Open C Project for information on how to produce better quality code.
How to develop a graphical user interface
Open C is especially suitable for non-UI-intensive software, such as application engines. If the component requires a UI, developers can use the S60 UI framework and develop it in the Symbian C++ programming language or use the Python scripting language.
- The development of hybrid applications is described in the S60 Open C API documentation.
- Developers should also take a look at the Open C code examples published at Forum Nokia (download them from the Open C documents and code examples page at forum.nokia.com). Each example provides porting notes as well.
Next steps
Scan through the documentation
Open C videos and webinars
Open C documents and code examples
Open C API Reference and Developer Guides
Open C articles in Forum Nokia Wiki
Open C technical solutions and known issues in Forum Nokia Knowledge Base
Discuss with your peers
Open C discussion



