AspectC++

... 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

10-Jul-2016
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.
21-Feb-2016
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.
25-Nov-2015
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.
16-Sep-2015
The Puma library (a sub-project of AspectC++) now has its own homepage and user's mailing list.
29-Aug-2015
All binaries created by the "daily build" process are now based on Clang 3.6.2. For Windows we build 64 bit executables now.
14-Dec-2014
In preparation for the upcoming release there is now an experimental daily build image for Mac OS X.