Hi guys,
I have a piece of code that I copied from another source but I don't understand what it means and the Keil compiler doesn't either.
The code looks like that:
#if _MSC_VER >= 1000 #define __CIFx_PACKED_PRE #endif typedef __CIFx_PACKED_PRE struct DRIVER_INFORMATIONtag { char abDriverVersion[32]; uint32_t ulBoardCnt; } __CIFx_PACKED_POST DRIVER_INFORMATION;
I get this error message for this typedef statement:
cifXUser.h(236): warning: #260-D: explicit type is missing ("int" assumed) cifXUser.h(236): error: #65: expected a ";"
And acutally I haven't seen a typedef like this before... in my opinion a typedef should look like something without the "__CIFx_PACKED_PER" part.
Can you help me in configuring the compiler right (so that it compiles that) and could you tell me, what it is about here?
Thanks a lot!!!
sorry: what I meant by 'argument' was <name>.
So what I actually wanted to state to verify my understanding was:
If there is just a name and no expansion data in the #define, then the compiler will just remove that name in the sourcecode while preprocessing.