SourceForge logo
SourceForge logo

The interactive file manager requires Javascript. Please enable it or use sftp or scp.
You may still browse the files here.

Download Latest Version cil-1.7.3.tar.gz (1.9 MB)
Email in envelope

Get an email when there's a new version of CIL (C Intermediate Language)

Home
Name Modified Size InfoDownloads / Week
cil 2013年07月24日
README.md 2013年06月27日 2.5 kB
0
Totals: 2 Items 2.5 kB 5

C Intermediate Language (CIL)

CIL is a front-end for the C programming language that facilitates program analysis and transformation. CIL will parse and typecheck a program, and compile it into a simplified subset of C.

CIL supports ANSI C as well as most of the extensions of the GNU C and Microsoft C compilers. A Perl script acts as a drop in replacement for either gcc or Microsoft's cl, and allows merging of the source files in your project. Other features include support for control-flow and points-to analyses.

Quick start

Read the excellent CIL tutorial by Zachary Anderson, and check out the accompanying project template.

Installation

Run the following commands to build and install CIL:

./configure
make
make test # regression test suite, optionnal
make install # as root or using sudo

If you want to install to some other directory, you can change the configure step like this:

FORCE_PERL_PREFIX=1 ./configure --prefix=/opt/cil

You only need the OCaml compiler, perl, and ocamlfind for the installation. (Of course, you also need some C compiler.)

Usage

You can use cilly (installed in /usr/local/bin by default) as a drop-in replacement for gcc to compile and link your programs.

You can also use CIL as a library to write your own programs. For instance in the OCaml toplevel using findlib:

$ ocaml
 Objective Caml version 4.00.1
# #use "topfind";;
[...]
# #require "cil";;
[...]
# Cil.cilVersion;; 
- : string = "1.7.2"

More documentation

The documentation is located in the doc/html/cil directory. The API documentation (generated by ocamldoc) is in the api subdirectory.

To (re)build the doc, you need Hevea and run:

make doc

You can also browse the documentation online.

Ressources

CIL is maintained by Gabriel Kerneis gabriel@kerneis.info

Source: README.md, updated 2013年06月27日
You Might Also Like
Junie, the AI coding agent by JetBrains Icon
Junie, the AI coding agent by JetBrains

Your smart coding agent

Junie is an AI-powered coding agent developed by JetBrains designed to enhance developer productivity by integrating directly into popular IDEs such as IntelliJ IDEA, PyCharm, and Android Studio. It supports developers by assisting with code completion, testing, and inspections, ensuring code quality and reducing debugging time.
Learn More
Everything You Need To Provide Complete Visibility Into Your Data Center And Cloud Infrastructure Icon
Everything You Need To Provide Complete Visibility Into Your Data Center And Cloud Infrastructure

Designed by engineers with IT experience to discover, document, and manage medium and large datacenters.

Featuring an intuitive web-based interface, Device42 actionable insight into enterprise infrastructures, with clearly identified hardware, software, service, and network interdependencies, powerful visualizations, and easy-to-use UI, webhooks, APIs, and so much more. Lean on Device42 to prepare for and plan network changes and reduce MTTR should an unexpected outage occur. Device42 has what you need for maintenance, audits, license certificate, warranty, and lifecycle management, passwords/secrets, inventory, asset tracking, capacity planning and budgeting, building room and rack layouts...
Try for Free
Thanks for helping keep SourceForge clean.
X

Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /