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

EC166 and unsigned char/signed char

Hi to all,
I have in use the EC++ Compiler from Tasking and want to change my whole EC++ project to KEIL. I tried to compile some files with the KEIL EC166 but I always get the following error:
------------------
argument of type "char *" is incompatible with parameter of type "signed char *"
------------------
I give you a short eyample:

#include <string.h>
int func1()
{
char sHlp[10];
return strlen(sHlp);
}
The error is shown at the bold line.

Could it be that the KEIL EC166 has the default 'char' defined as 'unsigned char'?
And if this is so, is there a possibility to change this with a commandline-option or #pragma?

Thank you for your help!
Franz

Parents
  • This looks like a bug in the compiler. There is a workaround:

    #include <string.h>
    int func1()
    {
      signed char sHlp[10];
      return strlen(sHlp);
    }
    
    But one shouldn't be resorting to this.
    Maybe it's too early to use Keil's EC++ for serious projects? After all, it's merely a beta version.
    - Mike

Reply
  • This looks like a bug in the compiler. There is a workaround:

    #include <string.h>
    int func1()
    {
      signed char sHlp[10];
      return strlen(sHlp);
    }
    
    But one shouldn't be resorting to this.
    Maybe it's too early to use Keil's EC++ for serious projects? After all, it's merely a beta version.
    - Mike

Children