⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bug-221100.c

📁 sdcc是为51等小型嵌入式cpu设计的c语言编译器支持数种不同类型的cpu
💻 C
字号:
/* bug-221100.c   If test_index is char, loses high bit when indexes table    workaround is to use [(unsigned int) test_index]  */#include <testfwk.h>#define ARRAY_SIZE  130#ifdef SDCC_pic16/* not enough pic16 data space, so put the array into the code memory */code static unsigned inttestArray[ARRAY_SIZE] = {    0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,  15,  16,  17,  18,  19,   20,  21,  22,  23,  24,  25,  26,  27,  28,  29,   30,  31,  32,  33,  34,  35,  36,  37,  38,  39,   40,  41,  42,  43,  44,  45,  46,  47,  48,  49,   50,  51,  52,  53,  54,  55,  56,  57,  58,  59,   60,  61,  62,  63,  64,  65,  66,  67,  68,  69,   70,  71,  72,  73,  74,  75,  76,  77,  78,  79,   80,  81,  82,  83,  84,  85,  86,  87,  88,  89,   90,  91,  92,  93,  94,  95,  96,  97,  98,  99,  100, 101,  02, 103, 104, 105, 106, 107, 108, 109,  110, 111, 112, 113, 114, 115, 116, 117, 118, 119,  120, 121, 122, 123, 124, 125, 126, 127, 128, 129,};#elsexdata static unsigned inttestArray[ARRAY_SIZE];#endifstatic unsigned int test_int;static unsigned char test_index;static voidfetch(void){  test_int = testArray [test_index];}static voidtestUnsignedCharIndex(void){#ifndef SDCC_pic16  int i;  for (i = 0; i < 130; i++) {    testArray[i] = i;  }#endif  test_index = 5;  fetch();  ASSERT(test_int == 5);  test_index = 129;  fetch();  ASSERT(test_int == 129);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -