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.
- Thanks to the Let's Encrypt service users of this website can now choose between encrypted access via https://aspectc.org/ or unencrypted browsing via http://aspectc.org/.
- AspectC++ Release 2.2 is available at the Download page. Besides support for Clang 3.9.1, the most important improvement is a new language feature: User-defined C++11-style attributes can be used to annotate name join points and referenced by pointcut expressions. For more details refer to the ChangeLog and the extended manuals.
- 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.