[aspectc-user] A General Question about Compilation Time
Olaf Spinczyk
Olaf.Spinczyk at informatik.uni-erlangen.de
Tue Nov 22 15:17:33 CET 2005
Hi Sergio,
I am able to reproduce the problem on my machine. It looks as if
something in the SystemC code slows down the ac++ parser significantly.
We'll keep you posted. Thank you for reporting this problem!
- Olaf
Sergio Queiroz wrote:
> Hi, Olaf!
>
> When I try to compile an example with ac++ 0.92 and ac++ 1.0, using SystemC,
> there is a huge difference in the compilation time.
>
> To compile the same files, it takes more than 7 minutes with ac++ 1.0 and less
> than 1 minute with ac++ 0.92, so it is almost prohibitive to me to use ac++
> 1.0 because this long compilation time.
>
> Do you have any idea about the reason of this big difference?
>
> I am sending the files and the logs.
>
> []s,
> Sérgio
>
>
> ---------- Original Message -----------
> From: Olaf Spinczyk <Olaf.Spinczyk at informatik.uni-erlangen.de>
> To: Sergio Queiroz <sergio at consiste.dimap.ufrn.br>
> Cc: aspectc-user at aspectc.org
> Sent: Fri, 18 Nov 2005 11:22:22 +0100
> Subject: Re: [aspectc-user] A General Question about Compilation Time
>
>>Hi,
>>
>>ac++ 1.0pre1 shouldn't be slower than 0.9.3. According to my
>>measurements it should even be a few percent faster. 1.0pre2 will be
>>about 20% faster than 1.0pre1. However, this is still slow and we
>>will continue to improve the performance step by step.
>>
>>If you want to reduce the compilation time, you could try to reduce
>>the number of translation units, e.g. like this:
>>
>>project.cc:
>>#include "A.cc"
>>#include "B.cc"
>>#include "C.cc"
>>
>>ag++ -c project.cc -o project
>>
>>Of course, this is not always possible.
>>
>>If you know what you are doing, i.e. where your advice affects the
>>component code, you could also weave only the relevant translation
>>units instead of all files. For example, in the Puma project we
>>weave only a subset of the translation units and create transformed
>>header files. The translation units that are not woven include the
>>transformed headers.
>>
>>I hope this helps,
>>
>>Olaf
>>
>>Sergio Queiroz wrote:
>>>Hi!
>>>
>>>I am just curious about the compilation time of ac++ 1.0, because it seems to
>>>me that the older versions are something faster than the current one, tried to
>>>compile some examples and it takes much time.
>>>
>>>Am I correct about this feeling? I also saw the roadmap of next version and
>>>there is an item "improved performance".
>>>
>>>What I can do to reduce the compilation time?
>>>
>>>Sérgio
>>>
>>>_______________________________________________
>>>aspectc-user mailing list
>>>aspectc-user at aspectc.org
>>>http://www.aspectc.org/mailman/listinfo/aspectc-user
> ------- End of Original Message -------
>
>
>
> ------------------------------------------------------------------------
>
> sergio at barradorio:~/systemc-2.0.1/examples/systemc/small$ time make
> make: Warning: File `Makefile' has modification time 2,7e+03 s in the future
> ag++ -ggdb -O3 -Wall -Wno-deprecated -p. --config puma.config -v9 -I. -I.. -I../../../include -c test.cpp
> *
> *
> * AG++ Configuration:
> * Create puma.config: 0
> * Aspect C++ weaver: ac++
> * C++ compiler: g++
> * Files: test.cpp
> * Options (G++): -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -c
> * Option (AC++): -p"." -v9 -I"." -I".." -I"../../../include"
> * Options (total): -ggdb -O3 -Wall -Wno-deprecated -p"." -v9 -v -I"." -I".." -I"../../../include" -c test.cpp
> * Weave: 1 Compile: 1 Link: 0
> *
> *
> * Weaving
> - Executing: "ac++" --config "puma.config" -p"." -v9 -I"." -I".." -I"../../../include" -c "test.cpp" -o "test.acc"
> * Running ac++ 0.9.2
> * Handling Translation Unit `test.cpp'.
> - Path "test.cpp"
> - Inserting namespace AC
> - Parsing ...
> - Setting Aspect Access Priviledges ...
> - Weaving Introductions ...
> - intros for Asp
> - Aspect ordering ...
> - Final checks before weaving introductions
> - Class Join Points
> - Weaving Advice Declarations ...
> Asp::%a0_before
> - Weaving Singleton Aspects ...
> - Commiting
> - Parsing again ...
> - Weaving Join Points ...
> Advicecode manipulation
> Collecting Advice
> Setting up thisJoinPoint for aspectof
> Supplying aspectof() with JoinPoint and tjp if needed
> Asp: __a0_before
> Evaluate Pointcut
> Aspect ordering ...
> Final checks before weaving code join points
> Type Check Functions
> Call Join Points
> Execution Join Points
> void Test::doit()
> Construction Join Points
> Destruction Join Points
> - Aspect Includes ...
> - Final cleanup
> - Commiting
> * Saving
> - Expanding project includes
> - Path "test.acc"
> * Done
> - Exit: Success
> * Compiling
> - Executing: "g++" -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -c -xc++ "test.acc" -xnone
> Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
> Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
> Thread model: posix
> gcc version 3.3.5 (Debian 1:3.3.5-8)
> /usr/lib/gcc-lib/i486-linux/3.3.5/cc1plus -quiet -v -I. -I.. -I../../../include -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=5 -D_GNU_SOURCE test.acc -D__GNUG__=3 -quiet -dumpbase test.acc -auxbase test -ggdb -O3 -Wall -Wno-deprecated -version -o /tmp/cct7VUnn.s
> GNU C++ version 3.3.5 (Debian 1:3.3.5-8) (i486-linux)
> compiled by GNU C version 3.3.5 (Debian 1:3.3.5-8).
> GGC heuristics: --param ggc-min-expand=63 --param ggc-min-heapsize=63460
> ignoring nonexistent directory "/usr/i486-linux/include"
> #include "..." search starts here:
> #include <...> search starts here:
> .
> ..
> ../../../include
> /usr/include/c++/3.3
> /usr/include/c++/3.3/i486-linux
> /usr/include/c++/3.3/backward
> /usr/local/include
> /usr/lib/gcc-lib/i486-linux/3.3.5/include
> /usr/include
> End of search list.
> In file included from ../../../include/systemc/kernel/sc_lambda.h:45,
> from ../../../include/systemc/kernel/sc_module.h:53,
> from ../../../include/systemc.h:44,
> from test.h:6:
> ../../../include/systemc/datatypes/bit/sc_logic.h: In static member function `
> static sc_dt::sc_logic_value_t sc_dt::sc_logic::to_value(char)':
> ../../../include/systemc/datatypes/bit/sc_logic.h:102: warning: array subscript
> has type `char'
> as -V -Qy -o test.o /tmp/cct7VUnn.s
> GNU assembler version 2.15 (i386-linux) using BFD version 2.15
> - Exit: Success
> - Removing intermediate .acc files
> ag++ -ggdb -O3 -Wall -Wno-deprecated -p. --config puma.config -v9 -I. -I.. -I../../../include -c main.cpp
> *
> *
> * AG++ Configuration:
> * Create puma.config: 0
> * Aspect C++ weaver: ac++
> * C++ compiler: g++
> * Files: main.cpp
> * Options (G++): -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -c
> * Option (AC++): -p"." -v9 -I"." -I".." -I"../../../include"
> * Options (total): -ggdb -O3 -Wall -Wno-deprecated -p"." -v9 -v -I"." -I".." -I"../../../include" -c main.cpp
> * Weave: 1 Compile: 1 Link: 0
> *
> *
> * Weaving
> - Executing: "ac++" --config "puma.config" -p"." -v9 -I"." -I".." -I"../../../include" -c "main.cpp" -o "main.acc"
> * Running ac++ 0.9.2
> * Handling Translation Unit `main.cpp'.
> - Path "main.cpp"
> - Inserting namespace AC
> - Parsing ...
> - Setting Aspect Access Priviledges ...
> - Weaving Introductions ...
> - intros for Asp
> - Aspect ordering ...
> - Final checks before weaving introductions
> - Class Join Points
> - Weaving Advice Declarations ...
> Asp::%a0_before
> - Weaving Singleton Aspects ...
> - Commiting
> - Parsing again ...
> - Weaving Join Points ...
> Advicecode manipulation
> Collecting Advice
> Setting up thisJoinPoint for aspectof
> Supplying aspectof() with JoinPoint and tjp if needed
> Asp: __a0_before
> Evaluate Pointcut
> Aspect ordering ...
> Final checks before weaving code join points
> Type Check Functions
> Call Join Points
> Execution Join Points
> void Test::doit()
> Construction Join Points
> Destruction Join Points
> - Aspect Includes ...
> - Final cleanup
> - Commiting
> * Saving
> - Expanding project includes
> - Path "main.acc"
> * Done
> - Exit: Success
> * Compiling
> - Executing: "g++" -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -c -xc++ "main.acc" -xnone
> Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
> Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
> Thread model: posix
> gcc version 3.3.5 (Debian 1:3.3.5-8)
> /usr/lib/gcc-lib/i486-linux/3.3.5/cc1plus -quiet -v -I. -I.. -I../../../include -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=5 -D_GNU_SOURCE main.acc -D__GNUG__=3 -quiet -dumpbase main.acc -auxbase main -ggdb -O3 -Wall -Wno-deprecated -version -o /tmp/ccXGrmrH.s
> GNU C++ version 3.3.5 (Debian 1:3.3.5-8) (i486-linux)
> compiled by GNU C version 3.3.5 (Debian 1:3.3.5-8).
> GGC heuristics: --param ggc-min-expand=63 --param ggc-min-heapsize=63460
> ignoring nonexistent directory "/usr/i486-linux/include"
> #include "..." search starts here:
> #include <...> search starts here:
> .
> ..
> ../../../include
> /usr/include/c++/3.3
> /usr/include/c++/3.3/i486-linux
> /usr/include/c++/3.3/backward
> /usr/local/include
> /usr/lib/gcc-lib/i486-linux/3.3.5/include
> /usr/include
> End of search list.
> In file included from ../../../include/systemc/kernel/sc_lambda.h:45,
> from ../../../include/systemc/kernel/sc_module.h:53,
> from ../../../include/systemc.h:44,
> from main.cpp:2:
> ../../../include/systemc/datatypes/bit/sc_logic.h: In static member function `
> static sc_dt::sc_logic_value_t sc_dt::sc_logic::to_value(char)':
> ../../../include/systemc/datatypes/bit/sc_logic.h:102: warning: array subscript
> has type `char'
> as -V -Qy -o main.o /tmp/ccXGrmrH.s
> GNU assembler version 2.15 (i386-linux) using BFD version 2.15
> - Exit: Success
> - Removing intermediate .acc files
> ag++ -ggdb -O3 -Wall -Wno-deprecated -p. --config puma.config -v9 -I. -I.. -I../../../include -L. -L.. -L../../../lib-linux -o test.x test.o main.o -lsystemc -lm 2>&1 | c++filt
> Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
> Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
> Thread model: posix
> gcc version 3.3.5 (Debian 1:3.3.5-8)
> /usr/lib/gcc-lib/i486-linux/3.3.5/cc1plus -quiet -v -I. -I.. -I../../../include -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=5 -D_GNU_SOURCE test.o -D__GNUG__=3 -quiet -dumpbase test.o -auxbase test -ggdb -O3 -Wall -Wno-deprecated -version -o /tmp/ccgmCslm.s
> GNU C++ version 3.3.5 (Debian 1:3.3.5-8) (i486-linux)
> compiled by GNU C version 3.3.5 (Debian 1:3.3.5-8).
> GGC heuristics: --param ggc-min-expand=63 --param ggc-min-heapsize=63460
> ignoring nonexistent directory "/usr/i486-linux/include"
> #include "..." search starts here:
> #include <...> search starts here:
> .
> ..
> ../../../include
> /usr/include/c++/3.3
> /usr/include/c++/3.3/i486-linux
> /usr/include/c++/3.3/backward
> /usr/local/include
> /usr/lib/gcc-lib/i486-linux/3.3.5/include
> /usr/include
> End of search list.
>
> real 0m35.905s
> user 0m26.849s
> sys 0m1.513s
>
>
>
> ------------------------------------------------------------------------
>
> sergio at barradorio:~/systemc-2.0.1/examples/systemc/small$ time make
> make: Warning: File `Makefile' has modification time 3,5e+03 s in the future
> ag++ -ggdb -O3 -Wall -Wno-deprecated -p. --config puma.config -v9 -I. -I.. -I../../../include -c test.cpp
> *
> *
> * AG++ Configuration:
> * Create puma.config: 0
> * Aspect C++ weaver: ac++
> * C++ compiler: g++
> * Files: test.cpp
> * Options (G++): -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -c -I"."
> * Options (AC++): -p"." -v9 -I"." -I".." -I"../../../include"
> * Options (total): -ggdb -O3 -Wall -Wno-deprecated -p"." -v9 -v -I"." -I".." -I"../../../include" -c test.cpp -I"."
> * Weave: 1 Compile: 1 Link: 0
> *
> *
> * Weaving
> - Executing: "ac++" --config "puma.config" -p"." -v9 -I"." -I".." -I"../../../include" -c "test.cpp" -o "test.acc"
> * Running ac++ 1.0pre1
> * Handling Translation Unit `test.cpp'.
> - Path "test.cpp"
> - Inserting namespace AC
> - Parsing ...
> - Setting Aspect Access Priviledges ...
> - Weaving Introductions ...
> - intros for Asp
> - Aspect ordering ...
> - Final checks before weaving introductions
> - Class Join Points
> - Weaving Advice Declarations ...
> Asp::%a0_before
> - Weaving Singleton Aspects ...
> - Aspect Includes ...
> - Commiting
> - Parsing again ...
> - Weaving Join Points ...
> Advicecode manipulation
> Collecting Advice
> Setting up thisJoinPoint for aspectof
> Supplying aspectof() with JoinPoint and tjp if needed
> Asp: __a0_before
> Evaluate Pointcut
> Aspect ordering ...
> Final checks before weaving code join points
> Type Check Functions
> Call Join Points
> Execution Join Points
> void Test::doit()
> Construction Join Points
> Destruction Join Points
> - Aspect Includes ...
> - Final cleanup
> - Commiting
> * Inserting unit pro- and epilogues
> - Manipulating translation unit file test.cpp
> * Saving
> - Expanding project includes
> - Path "test.acc"
> * Done
> - Exit: Success
> * Compiling
> - Executing: "g++" -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -c -xc++ "test.acc" -xnone -I"."
> Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
> Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
> Thread model: posix
> gcc version 3.3.5 (Debian 1:3.3.5-8)
> /usr/lib/gcc-lib/i486-linux/3.3.5/cc1plus -quiet -v -I. -I.. -I../../../include -I. -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=5 -D_GNU_SOURCE test.acc -D__GNUG__=3 -quiet -dumpbase test.acc -auxbase test -ggdb -O3 -Wall -Wno-deprecated -version -o /tmp/cc1Sb0Jk.s
> GNU C++ version 3.3.5 (Debian 1:3.3.5-8) (i486-linux)
> compiled by GNU C version 3.3.5 (Debian 1:3.3.5-8).
> GGC heuristics: --param ggc-min-expand=63 --param ggc-min-heapsize=63460
> ignoring nonexistent directory "/usr/i486-linux/include"
> ignoring duplicate directory "."
> #include "..." search starts here:
> #include <...> search starts here:
> .
> ..
> ../../../include
> /usr/include/c++/3.3
> /usr/include/c++/3.3/i486-linux
> /usr/include/c++/3.3/backward
> /usr/local/include
> /usr/lib/gcc-lib/i486-linux/3.3.5/include
> /usr/include
> End of search list.
> In file included from ../../../include/systemc/kernel/sc_lambda.h:45,
> from ../../../include/systemc/kernel/sc_module.h:53,
> from ../../../include/systemc.h:44,
> from test.h:6:
> ../../../include/systemc/datatypes/bit/sc_logic.h: In static member function `
> static sc_dt::sc_logic_value_t sc_dt::sc_logic::to_value(char)':
> ../../../include/systemc/datatypes/bit/sc_logic.h:102: warning: array subscript
> has type `char'
> as -V -Qy -o test.o /tmp/cc1Sb0Jk.s
> GNU assembler version 2.15 (i386-linux) using BFD version 2.15
> - Exit: Success
> - Removing intermediate .acc files
> ag++ -ggdb -O3 -Wall -Wno-deprecated -p. --config puma.config -v9 -I. -I.. -I../../../include -c main.cpp
> *
> *
> * AG++ Configuration:
> * Create puma.config: 0
> * Aspect C++ weaver: ac++
> * C++ compiler: g++
> * Files: main.cpp
> * Options (G++): -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -c -I"."
> * Options (AC++): -p"." -v9 -I"." -I".." -I"../../../include"
> * Options (total): -ggdb -O3 -Wall -Wno-deprecated -p"." -v9 -v -I"." -I".." -I"../../../include" -c main.cpp -I"."
> * Weave: 1 Compile: 1 Link: 0
> *
> *
> * Weaving
> - Executing: "ac++" --config "puma.config" -p"." -v9 -I"." -I".." -I"../../../include" -c "main.cpp" -o "main.acc"
> * Running ac++ 1.0pre1
> * Handling Translation Unit `main.cpp'.
> - Path "main.cpp"
> - Inserting namespace AC
> - Parsing ...
> - Setting Aspect Access Priviledges ...
> - Weaving Introductions ...
> - intros for Asp
> - Aspect ordering ...
> - Final checks before weaving introductions
> - Class Join Points
> - Weaving Advice Declarations ...
> Asp::%a0_before
> - Weaving Singleton Aspects ...
> - Aspect Includes ...
> - Commiting
> - Parsing again ...
> - Weaving Join Points ...
> Advicecode manipulation
> Collecting Advice
> Setting up thisJoinPoint for aspectof
> Supplying aspectof() with JoinPoint and tjp if needed
> Asp: __a0_before
> Evaluate Pointcut
> Aspect ordering ...
> Final checks before weaving code join points
> Type Check Functions
> Call Join Points
> Execution Join Points
> void Test::doit()
> Construction Join Points
> Destruction Join Points
> - Aspect Includes ...
> - Final cleanup
> - Commiting
> * Inserting unit pro- and epilogues
> - Manipulating translation unit file main.cpp
> * Saving
> - Expanding project includes
> - Path "main.acc"
> * Done
> - Exit: Success
> * Compiling
> - Executing: "g++" -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -c -xc++ "main.acc" -xnone -I"."
> Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
> Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
> Thread model: posix
> gcc version 3.3.5 (Debian 1:3.3.5-8)
> /usr/lib/gcc-lib/i486-linux/3.3.5/cc1plus -quiet -v -I. -I.. -I../../../include -I. -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=5 -D_GNU_SOURCE main.acc -D__GNUG__=3 -quiet -dumpbase main.acc -auxbase main -ggdb -O3 -Wall -Wno-deprecated -version -o /tmp/cclV2COF.s
> GNU C++ version 3.3.5 (Debian 1:3.3.5-8) (i486-linux)
> compiled by GNU C version 3.3.5 (Debian 1:3.3.5-8).
> GGC heuristics: --param ggc-min-expand=63 --param ggc-min-heapsize=63460
> ignoring nonexistent directory "/usr/i486-linux/include"
> ignoring duplicate directory "."
> #include "..." search starts here:
> #include <...> search starts here:
> .
> ..
> ../../../include
> /usr/include/c++/3.3
> /usr/include/c++/3.3/i486-linux
> /usr/include/c++/3.3/backward
> /usr/local/include
> /usr/lib/gcc-lib/i486-linux/3.3.5/include
> /usr/include
> End of search list.
> In file included from ../../../include/systemc/kernel/sc_lambda.h:45,
> from ../../../include/systemc/kernel/sc_module.h:53,
> from ../../../include/systemc.h:44,
> from main.cpp:2:
> ../../../include/systemc/datatypes/bit/sc_logic.h: In static member function `
> static sc_dt::sc_logic_value_t sc_dt::sc_logic::to_value(char)':
> ../../../include/systemc/datatypes/bit/sc_logic.h:102: warning: array subscript
> has type `char'
> as -V -Qy -o main.o /tmp/cclV2COF.s
> GNU assembler version 2.15 (i386-linux) using BFD version 2.15
> - Exit: Success
> - Removing intermediate .acc files
> ag++ -ggdb -O3 -Wall -Wno-deprecated -p. --config puma.config -v9 -I. -I.. -I../../../include -L. -L.. -L../../../lib-linux -o test.x test.o main.o -lsystemc -lm 2>&1 | c++filt
> Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
> Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
> Thread model: posix
> gcc version 3.3.5 (Debian 1:3.3.5-8)
> /usr/lib/gcc-lib/i486-linux/3.3.5/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o test.x /usr/lib/gcc-lib/i486-linux/3.3.5/../../../crt1.o /usr/lib/gcc-lib/i486-linux/3.3.5/../../../crti.o /usr/lib/gcc-lib/i486-linux/3.3.5/crtbegin.o -L. -L.. -L../../../lib-linux -L/usr/lib/gcc-lib/i486-linux/3.3.5 -L/usr/lib/gcc-lib/i486-linux/3.3.5/../../..test.o main.o -lsystemc -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc-lib/i486-linux/3.3.5/crtend.o /usr/lib/gcc-lib/i486-linux/3.3.5/../../../crtn.o
> *
> *
> * AG++ Configuration:
> * Create puma.config: 0
> * Aspect C++ weaver: ac++
> * C++ compiler: g++
> * Files: test.o main.o
> * Options (G++): -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -L"." -L".." -L"../../../lib-linux" -l"systemc" -l"m"
> * Options (AC++): -p"." -v9 -I"." -I".." -I"../../../include"
> * Options (total): -ggdb -O3 -Wall -Wno-deprecated -p"." -v9 -v -I"." -I".." -I"../../../include" -L"." -L".." -L"../../../lib-linux" test.o main.o -l"systemc" -l"m"
> * Weave: 0 Compile: 1 Link: 1
> *
> *
> * Compiling
> - Executing: "g++" -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -L"." -L".." -L"../../../lib-linux" "test.o" "main.o" -l"systemc" -l"m" -o "test.x"
> - Exit: Success
> - Removing intermediate .acc files
> make: aviso: O relógio está errado. Sua compilação pode ficar incompleta.
>
> real 7m7.042s
> user 6m50.594s
> sys 0m1.956s
>
>
>
> ------------------------------------------------------------------------
>
> //#define SC_EXTERNS_H
> #include <systemc.h>
>
> #include <iostream.h>
> #include "test.h"
>
> int
> sc_main(int argc, char **argv) {
>
> sc_signal <sc_int<WORD> > signal;
> sc_signal <bool> clock;
>
> sc_time t (20, SC_NS);
>
> Test a ("a");
> a.my_signal (signal);
> a.Clk (clock);
>
> sc_initialize();
>
> cout << "I am here" << endl;
>
> int i = 0;
>
> while (1) {
> clock.write (1);
> sc_cycle (t);
>
> signal.write (i++);
>
> clock.write (0);
> sc_cycle (t);
> }
>
> return 0;
> }
>
>
> ------------------------------------------------------------------------
>
> #include "test.h"
>
> #include <iostream.h>
>
> void
> Test::doit() {
> cout << my_signal.read() << endl;
> }
>
>
>
>
> ------------------------------------------------------------------------
>
> #ifndef TEST_H
> #define TEST_H
>
> const int WORD = 8;
>
> #include "systemc.h"
>
> SC_MODULE (Test) {
> sc_in <bool> Clk;
>
> sc_in <sc_int<WORD> > my_signal;
>
> void doit();
>
> SC_CTOR (Test) {
> SC_METHOD (doit);
> sensitive_pos << Clk;
> }
>
> };
>
> #endif //TEST_H
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> aspectc-user mailing list
> aspectc-user at aspectc.org
> http://www.aspectc.org/mailman/listinfo/aspectc-user
More information about the aspectc-user
mailing list