You are here



CERN has switch to a new interpreter, cling.


CINT is not supported by CERN anymore; it's now back to its original inventor, Masaharu Goto. Please check here for CINT.


The remainder of this page is purely historical.

What is CINT?

CINT is an interpreter for C and C++ code. It is useful e.g. for situations where rapid development is more important than execution time. Using an interpreter the compile and link cycle is dramatically reduced facilitating rapid development. CINT makes C/C++ programming enjoyable even for part-time programmers.

CINT is written in C++ itself, with slightly less than 400,000 lines of code. It is used in production by several companies in the banking, integrated devices, and even gaming environment, and of course by ROOT, making it the default interpreter for a large number of high energy physicists all over the world.


CINT covers most of ANSI C (mostly before C99) and ISO C++ 2003. A CINT script can call compiled classes/functions and compiled code can make callbacks to CINT interpreted functions. Utilities like makecint and rootcint automate the process of embedding compiled C/C++ library code as shared objects (as Dynamic Link Library, DLL, or shared library, .so). Source files and shared objects can be dynamically loaded/unloaded without stopping the CINT process. CINT offers a gdb like debugging environment for interpreted programs.


CINT is free software in terms of charge and freedom of utilization: it is licensed under the X11/MIT license. See the included COPYING for details.

The source of CINT 5.16.19 is available here (tar.gz, 2MB).

CINT 5.16.19 from 2007-03-19 is available via anonymous ftp:

To build the source package do:

$ tar xfz cint-5.16.19-source.tar.gz
$ cd cint-5.16.19
$ ./configure
$ gmake 

The current sources of CINT can be downloaded via git. From a bash shell (the $ is meant to denote the shell prompt), run

$ svn co cint
$ cd cint

You can also download a certain version of CINT using subversion:

$ svn co cint-v5.16.19
$ cd cint-v5.16.19

You can build CINT from these sources by running

$ ./configure
$ make -j2

For windows you will need to install the cygwin package to build CINT from sources. Before downloading check the release notes of the latest version.


CINT works on number of operating systems. Linux, HP-UX, SunOS, Solaris, AIX, Alpha-OSF, IRIX, FreeBSD, NetBSD, NEC EWS4800, NewsOS, BeBox, HI-UX, Windows-NT/95/98/Me, MS-DOS, MacOS, VMS, NextStep, Convex have all been reported as working at some point in time; Linux, Windows, MacOS and Solaris are actively developed. A number of compilers is supported, i.e. GCC, Microsoft Visual C++, Intel's ICC, HP-CC/aCC, Sun-CC/CC5, IBM-xlC, Compac-cxx, SGI-CC, Borland-C++, Symantec-C++, DJGPP, cygwin-GCC.

The ROOT System

The ROOT system embeds CINT to be able to execute C++ scripts and C++ command line input. CINT also provides extensive RTTI capabilities to ROOT.

The Authors

CINT is developed by Masaharu Goto, who works for Agilent Technologies, Philippe Canal and Paul Russo at Fermilab, and Leandro Franco, Diego Marcos, and Axel Naumann from CERN.


CINT implements a very large subset of C++, but has also some differences and limitations.

CINT Mailing List is the CINT mailing list. To join the mailing list do the following:

  • If you don't have a CERN account, create a light weight CERN account.
  • Add yourself to the root-cint mailing list, by clicking on the "Members" tab and then on the "Add me" button.
  • To remove yourself from the mailing list click on the "Remove me" button on the same above "Members" page.

The archive of the mailing list is also available; you can also find it on

For more detailed CINT information see below:

External References

A few random pointers concerning CINT: