Hi I've split my project in 2 parts while each part is implemented by one. So some includes like <reg51.h> is done twice which resulted in error. So in order to avoid this I did as follows: #if !defined(REG51_h__INCLUDED_) #define REG51_h__INCLUDED_ #endif but it seems that this doesn't result in: #include <reg51.h> if it has not been included before. How should I solve it?!! I appreciate your attention in advance!!
Good point - although I was not aware that it was a forbidden issue - the issue of a naming confict is always there. I avoid such conflicts myself by using a unique naming convention for my own files.
"I avoid such conflicts myself by using a unique naming convention for my own files." Yes - that is the whole point! The convention is that ames beginning with uderscores are reserved for compiler writers - so if you use them, you have no guarantee that any name you choose will be unique (ie, that your compiler won't have got there first!)
"...ames beginning with uderscores..." Hmmm... what's up with that 'n' key, then? Let's just try it again: "...names beginning with underscores..." Yes - that's better!
"I was not aware that it was a forbidden issue" ISO/IEC 9899:1990 Programming Languages - C Section 7.1.3, Reserved Identifiers: "All identifiers that begin with an underscore and either an uppercase letter or another underscore are always reserved for any use"