ACDT是在eclipse中开发基于AspectC++的程序的插件,是AspectJ在C++对应的实现
caixl
caixl
1
1
2004-11-11T08:38:00Z
2004-11-11T08:39:00Z
2
198
1132
Company Name
9
2
1390
9.3821
7.8 磅
0
2
ACDT是在eclipse中开发基于AspectC++的程序的插件,是AspectJ在C++对应的实现。
从http://acdt.aspectc.org下载最新的安装包acdt-2.0.2.zip,解压到本地硬盘,
然后启动eclipse
3.0,使用eclipse 的update manager安装acdt。
要让acdt正常运行还需要安装AspectC++0.9,可以从http://www.aspectc.org获取
安装包,直接解压到本地硬盘e:\aop,然后在PATH环境变量中添加ac++所在的路径,
在我的机器上为e:\aop\ac;。
这时按照acdt的帮助文档中在eclipse创建了一个c++工程,添加了一个main.cpp,
代码如下:
#include using namespace std;
int main (int argc, const char* argv[])
{
// Say Hello two times
for (int index = 0; index < 2; ++index)
cout
<< "HelloWorld!" << endl;
char
input = 'i';
cout
<< "To exit, press 'm'" << endl;
while(input
!= 'm')
{
cin
>> input;
cout
<< "You just entered " << input << " you need
to enter m to exit." << endl;
}
exit(0);
}
然后添加一个myAspect.ah文件,代码如下:
#include using namespace std;
aspect myAspect {
//
Say Hello before main() is executed
advice
execution( "% main(...)" ) : before () {
cout
<< "HelloAspect!" << endl;
}
};
对工程进行编译,出现了很多错误,应该是头文件关联的问题。帮助文档中提到需要
定义一个环境变量PUMA_CONFIG,该环境变量保存着一个使用ag+ + -genconfig生成
的puma.config文件。由于我用的是cygwin上的g++,所以还需要在生成的
puma.config上加入标准的头文件路径。我加入的配置项目有:
-I C:\cygwin\usr\include\c++\3.3.1
-I
C:\cygwin\usr\include\c++\3.3.1\i686-pc-cygwin
-I C:\cygwin\usr\include
-I C:\cygwin\usr\include\cygwin
-I
C:\cygwin\lib\gcc-lib\i686-pc-cygwin\3.3.1\include
重新启动eclipse,编译例子工程,编译成功!
结果如下
HelloAspect!
HelloWorld!
HelloWorld!
To exit, press 'm'