... and your code gets untangled

The Home of AspectC++

About the Project

The success of Aspect-Oriented Software Development rises and falls with user-friendly tool support. With AspectJ® ¹ the first complete and powerful language extension for AOP has been created. With the AspectC++ project we extend the AspectJ approach to C/C++. It is a set of C++ language extensions to facilitate aspect-oriented programming with C/C++. An implementation of an AspectC++ compiler is available for download from our download page.

¹ AspectJ is a trademark of Xerox Corporation.

Latest News

AspectC++ Release 2.1 is available at the Download page. The main improvements are that the internal parser is now based on Clang 3.8.0 (the latest version) and that ac++ now better cooperates with g++ 6.
AspectC++ Release 2.0 is available at the Download page. Instead of Puma the default C++ frontend of AspectC++ is now Clang. This means better error messages and support for C++ 1x standards. There are also many interesting new language features, bug fixes, and the performance was again improved.
The AspectC++ website, mailing lists, and bugzilla will be down on 26-Nov-2015. The server will be move and get a new IP address.
The Puma library (a sub-project of AspectC++) now has its own homepage and user's mailing list.
All binaries created by the "daily build" process are now based on Clang 3.6.2. For Windows we build 64 bit executables now.
In preparation for the upcoming release there is now an experimental daily build image for Mac OS X.