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

In preparation for the upcoming release there is now an experimental daily build image for Mac OS X.
Daily builds as well as the links to newer releases are repaired. The test system and links to archived releases are still offline.
Due to problems with our ftp and build server, the links to release tarballs and daily builds are currently broken. We apologize for any problems this might make.
The email addresses are fully functional again. Sorry for the inconvenience.
06-Apr-2014 email addresses are currently not working. This especially affects our mailing lists. The problems are caused by our ISP, but we doing our best to find a quick solution.
New infrastructure online: New website; new bugzilla version; mailing lists migrated.
AspectC++ Release 1.2 is available at the Download page. It has many parser and performance improvements as well as a new project repository format with far more detailed information on the project. It can be used for pointcut expression evaluation on the command line with the new --expr option.
AspectC++ Release 1.1 is available at the Download page. It has a faster and much better parser and supports weaving in macro-generated code.
Zygmunt Ptak provides an AspectC++ package for ARCHLINUX.
Riku Halonen from Nokia has posted a very nice blog on using AspectC++ for Qt development on
An application note on "Using AspectC++ for Qt Application Development" (including example code) has been uploaded to the Documentation page.