The AspectC++ project realizes an AspectJ-like approach for aspect oriented programming with C/C++. It provides an AspectC++ translator to weave AspectC++ code with C/C++ code.
| Tags | Software Development Compilers |
|---|---|
| Licenses | GPL |
| Operating Systems | POSIX Solaris Mac OS X Linux Windows Windows Windows |
| Implementation | C C++ |
Recent releases


Changes: Preliminary support was added for weaving in pure C code. A new syntax was added for non-inline introductions. Further performance improvements were made.


Changes: All known ag++ problems have been fixed. Execution advice now works for new/delete operators. New documentation, a language overview, and an execution model overview have been added to the distribution. First steps towards pure C code weaving were made. Introductions with constructors and destructors are now also possible.


Changes: This release fixes a severe bug in the Win32 version of ac++, which caused a crash if the parser configuration contained --ptrdiff-type or --size-type. The ag++ wrapper has been improved and fixed.


Changes: This release contains several important improvements. It does not need the link-once code anymore, making it possible to use AC++ similarly to a standard C++ compiler. For g++ a wrapper ag++ bundles ac++ and g++. Many issues with templates have been solved. There is also experimental support for advices on calls to templates. As usual many bugfixes are included as well.


Changes: A new match expression parser has been implemented. Object construction and destruction can be join points now. The macro handling has been improved; matching of join points with macros is now possible in many cases. The performance has been improved for namespace lookups and some other parser functions. The weaver source can now be compiled with VisualC++ 7.0.