-
Notifications
You must be signed in to change notification settings - Fork 3
Home
Welcome ot the Checked C Wiki! We are glad you are here. The goal of the Checked C project is to improve systems programming by making fundamental improvements to C, the most widely-used systems programming language. C was invented more than 40 years ago and at the time, it was a big step up over assembly code. As a community, we've learned a lot since then, computers have gotten orders of magnitude faster, and the computing environment has changed from one where computers sat in computer rooms and were run by experts to one where almost everyone carries a computer in their pocket. It's time for some improvements.
Checked C adds checking to C to prevent or detect common low-level programming errors.
Checked C provides a way to guarantee that that pointer and array accesses stay in bounds at run time.
It also checks for memory accesses via null pointers. We plan to add more checking, including
checking for pointer arithmetic involving null pointers, pointer arithmetic overflow,
and checking casts.
- For a quick description of the extension, see the [Extension Overview](https://github.com/Microsoft/checkedc/wiki/Extension-overview.
- For a detailed description, see the PDF of the specification](https://github.com/Microsoft/checkedc/releases).
You can now download a compiler for Checked C. If you are running Linux or UNIX, you can build your own copy of the compiler. The implementation is not complete, but it is far enough along that you can try out Checked C now.
A description of the extension features that we are implementing is here. The implementation status is here
Checked C is an open-source project - anyone with time or interest can participate.
We're happy to have the help! Just trying out Checked C, reporting bugs, and
giving us feedback is helpful.
People from Microsoft, the University of Maryland, the University of Washington, and Samsung have been participating in the project. Some folks are experimenting with using Checked C in the (RIOT operating system)[http://www.riot-os.org/].
Checked C Wiki