This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

#define statements on variable declarations

Hello. I am trying to find new and exciting ways to optimize (read: shrink down) my current code and want to include an eeprom autorefresh option to cut down on variables. Basically, when I have the AutoRefreshCompile option set, I want it to create the variable "randomvariable". My code is pretty simple:

#define AutoRefreshCompile 1

        #if(AutoRefreshCompile==1)
        {  // line x
                extern signed short randomvariable;
        }  // line y
        #endif

I am getting errors that read as follows:


VARS.H(x) error C141: syntax error near '{'
VARS.H(y) error C141: syntax error near '}'

I'm guessing it is not possible to do this (if I remember correctly, variables have to be declared at the beginning and can't be in the middle of functions/code segments but maybe it's some really simple fix.

I realize this might not work but I figure it's worth a shot. Any suggestions? Thanks!

Parents
  • And what, exactly, do you mean by that?

    Remember that optimisation happens at compile time - you can't retrospectively optimise at run time!

    "I'm guessing..."

    Don't guess!!

    If you want to out-smart the compiler, then you're going to need a really thorough understanding of not just the 'C' language, but also compiler technology.

    Here are some 'C' references for you to study: blog.antronics.co.uk/.../12

Reply
  • And what, exactly, do you mean by that?

    Remember that optimisation happens at compile time - you can't retrospectively optimise at run time!

    "I'm guessing..."

    Don't guess!!

    If you want to out-smart the compiler, then you're going to need a really thorough understanding of not just the 'C' language, but also compiler technology.

    Here are some 'C' references for you to study: blog.antronics.co.uk/.../12

Children