This preprocessor directive can be used to make a file not compile with your own error message saying what's wrong, or just cause a warning to be displayed.
#error "Custom error message saying what is wrong"
#warning "Custom warning message"
int foo(int i) {
#error "Function foo not yet implemented"
}
int bar(int j) {
#warning "Function bar may not behave as expected all the time"
}
This could be used with #if to check properties of the environment
#if sizeof(int) < 4
#error sizeof Int is too small, must be at least 4 bytes
#endif
http://en.wikipedia.org/wiki/C_preprocessor#User-defined_compilation_errors_and_warnings