[aspectc-user] __declspec issues

Daniel Lohmann daniel.lohmann at informatik.uni-erlangen.de
Wed Aug 18 16:04:16 CEST 2004


Hi John,


Most of the MS-specific language extensions are only parsed correctly 
with the commercion version of ac++.exe, which is developed and sold by 
pure-systems GmbH (http://www.pure-systems.com/) as part of their 
VisualStudio AddIn.

As a workaround you may use "#ifdef __puma" which is defined during 
parsing and weaving:

#ifdef __puma
    #define STORAGE_CLASS_INFO
#else
    #define STORAGE_CLASS_INFO __declspec(dllexport)
#endif

or, as a more general solution

#ifdef __puma
    #define __declspec(some_argument)
#endif


Have fun!

Daniel



John Hawkins wrote:

>I'm trying to make ac++ trace sample work against a "simple" class.
>However, the class has the following code snippet in one of its included
>headers ->
>
>"STORAGE_CLASS_INFO int initialize_module(int bServer);"
>
>where STORAGE_CLASS_INFO is a macro for "__declspec(dllexport)" (a windows
>specific api.)
>
>I'm getting the error -> error: invalid declaration near token `int'
>
>Why? I can only assume there is something wrong with ac++ handling of
>__declspec(dllexport)- but what?
>It's not an issue with the macro substitution because I have hardcoded it
>and still get the same error but i left it in for completeness incase
>someone knows otherwise.
>
>Compiler is MS VC6.0 (Yes, I know there are supposed to be issues but I
>only want to use it for trace at the moment so thought I could get away
>with it !)
>
>  
>




More information about the aspectc-user mailing list