I want to know if I can rely on the particular definitions of the include guards in standard headers. If I look on my system with Visual Studio I can see, for example, that stdint.h has the `_STDINT` defined. My question is if I can rely on this `#define` for other compilers too. Basically, is it safe for me to do something like this:

```
#ifndef _STDINT
typedef char int8_t;
#endif

```

I know this might look stupid. Why not just include stdint.h you say? Well I'm writing code which may be deployed embedded targets, which might not be happy about including certain standard c headers. However, I want to be able to use them when they are available. Therefore, I want to be able to choose in the file that has `int main()` whether I want to include stdint.h or not.