This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Wrong mapping with C251 v2 compiler

Hi,

I am trying to recompile a project with C251 v2.This project was originaly compiled with C251 v1.

In one of my C files I use a string table declared like this :

char code *ErrorMess[]={"error1",
                        "error2",
                        "error3"};

With C251 v1 compiler, this constant was accurately mapped in CODE area, but with C251 v2, it is mapped in XDATA or EDATA area according the selected memory model.

What am I doing wrong ?

Parents
  • Thank you for your answer, but your solution didn't change anything.

    There are 59 error messages in my ErrorMess table. When I have a look to the map file, the compiler assigns 118 bytes to this tables.

    So it seems as if these are pointers to each text line of the table, whose text is written somewhere else, maybe in code area.

    Canthis be right ?
    If yes, is it possible to force the pointers in the code area ?

    Thanks.

Reply
  • Thank you for your answer, but your solution didn't change anything.

    There are 59 error messages in my ErrorMess table. When I have a look to the map file, the compiler assigns 118 bytes to this tables.

    So it seems as if these are pointers to each text line of the table, whose text is written somewhere else, maybe in code area.

    Canthis be right ?
    If yes, is it possible to force the pointers in the code area ?

    Thanks.

Children