#define creates a permanent, hard-coded value at compile time, not run time.
This means that if you have a test in your code for a value, it will fail at compile time if the value is not there ie.,
Code:
#define VALUE
printf("%s\n,VALUE);
Normally you test a #define with another directive like #ifdef or #ifndef not "regular" C code:
Code:
#ifndef __MYINCLUDE_H_
#define __MYINCLUDE_H_
#include "myinclude.h"
#endif
What are you trying to do?