[aspectc-user] Usage of AspectC++ was: Question: how does ac++ link library?
Danilo Beuche
danilo.beuche at pure-systems.com
Fri Mar 7 19:05:13 CET 2003
Hi,
since ac++ does a source-to-source compilation/transformation from AC++
to C++, the output of ac++ is pure C++. You have to use your favorite
compiler to actually compile this output to .o-files or executables.
The usage of AspectC++ requires several steps:
1. put all source code which should be "aspectized" and the aspect code
in a directory (called PROJECT_DIR from now).
2. transform your aspect code from AspectC++ to C++
e.g.
ac++ -p PROJECT_DIR -I PROJECT_DIR -d PROJECT_OUTPUTDIR
-IANOTHER_INCLUDE_DIR -D Dummy=0
this will create PROJECT_OUTPUTDIR if it does not exist and puts the
generated source code into this directory.
If your C++ files do not the suffix "cc", you have to use the -e
option (See AspectC++ Announcement 0.7pre1 for informations on -e
usage). You have to give ac++ all your -I and -D options your
compiler requires in step 3.
3. Put the makefile for your project into PROJECT_OUTPUTDIR. The
makefile should call the normal compiler, e.g. g++ in the usual way.
Here goes your -l option.
If you see an ac_gen.cc (generated from ac++) , you have compile this
file too, and link it to your application/put it in your lib.
An example call to g++ could look like this (assuming your program is
implemented in "my_app.cc":
g++ -o my_app my_app.cc ac_gen.cc -LSUPER_LIB_DIR -lsuper_lib
-IANOTHER_INCLUDE_DIR -D Dummy=0
- Run your aspectized app :-)
./my_app
Look at the "test" section of the supplied Makefile in the AspectC++
tar/zip to see our example build rules.
Danilo
Hong Yuan wrote:
> Hello
>
> For now ac++ doesn't allow using -l option and -L option
> for linking library, while we usually use these options
> for linking in gcc/g++. If I want to use ac++ to compile
> my source files which include some functions defined in
> such libraries as <pthead.h>, how can I link the libraries
> in command-line? Does AspectC++ 0.7pre improve this?
>
> Thanks,
> Hong Yuan
> MPI Software Technology, Inc.
> Ph: +1-(662)320-4300 ext 30
> Fax: +1-(662)320-4301
> http://mpi-softtech.com
>
> The information contained in this communication may be confidential
> and is intended only for the use of the recipient(s) named above.
> If the reader of this communication is not the intended recipient(s),
> you are hereby notified that any dissemination, distribution, or
> copying of this communication, or any of its contents, is strictly
> prohibited. If you are not a named recipient or received this
> communication by mistake, please notify the sender and delete the
> communication and all copies of it.
>
>
> _______________________________________________
> aspectc-user mailing list
> aspectc-user at aspectc.org
> http://www.aspectc.org/mailman/listinfo/aspectc-user
>
--
Danilo Beuche Phone: +49-391-54456910
pure-systems GmbH Fax: +49-391-54456990
More information about the aspectc-user
mailing list