GCC(ARM) warning: comparison is always true due to limited range of data type


char ch;

while((ch = getopt(argc,argv,"d:h"))!=EOF
    switch(ch{
    case 'h'
    ...

GCC X86    OK!

GCC Arm 警告如下

warning: comparison is always true due to limited range of data type

改爲int ch即可


The C and C++ standards allows the character type char to be signed or unsigned, depending on the platform and compiler. Most systems, including x86 GNU/Linux and Microsoft Windows, use signed char, but those based on PowerPC and ARM processors typically use unsigned char.(29) This can lead to unexpected results when porting programs between platforms which have different defaults for the type of char.



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章