This is what I have done. #define X_constant X_Value
This was the reason that the array's length was passed as 16 and not 26.
And that's why I told you that even I had rx[16] , VS putted values after element 15 in array till rx[25] and used them later in the code, but gcc did not find values after rx[15] cause it was declared rx[16] and not rx[26] like it should be. So, this is why I told that VS was intelligent enough to put values in an array's position that I mistakenly had declared to has less elements than it should have. It was my mistake and the post has to be considered as "solved". So, the problem was array overflow.
Thanks for your answers, they are much appreciated. By the way, all of us (mostly the not so experienced) can learn something from a problem that comes up from time to time ...