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

📄 runtest1.c

📁 Linux下嵌入式开发工具源代码
💻 C
字号:
/* First C source file for actual execution test.  *//* The main point of this test is to make sure that the code and data   are truly position independent.  We statically initialize several   global variables, and make sure that they are correctly adjusted at   runtime.  */int i = 1;int j = 0;extern int k;int l;char small_buf[] = "aaaa";char *small_pointer = small_buf;char big_buf[] = "aaaaaaaaaaaaaaaa";char *big_pointer = big_buf;extern int bar ();int (*pbar) () = bar;static intfoo2 (arg)     int arg;{  l = arg;  return i + j;}int (*pfoo2) () = foo2;intchkstr (z, c)     char *z;     int c;{  /* Switch statements need extra effort to be position independent,     so we run one here, even though most of the cases will never be     taken.  */  switch (c)    {    case 1:    case 2:    case 3:      return i - 1;    case 4:      break;    case 5:    case 6:    case 7:    case 8:    case 9:      return i * j;    case 10:    case 11:    case 12:    case 13:    case 14:    case 15:      return j;    case 16:      break;    default:      return 0;    }  while (c-- != 0)    if (*z++ != 'a')      return 0;  return *z == '\0';}/* This function is called by the assembler startup routine.  It tries   to test that everything was correctly initialized.  It returns 0 on   success, something else on failure.  */intfoo (){  if (i != 1)    return 1;  if (j != 0)    return 2;  if (! chkstr (small_buf, 4))    return 3;  if (! chkstr (small_pointer, 4))    return 4;  if (! chkstr (big_buf, 16))    return 5;  if (! chkstr (big_pointer, 16))    return 6;  if (l != 0)    return 7;  if (foo2 (1) != 1)    return 8;  if (l != 1)    return 9;  if ((*pfoo2) (2) != 1)    return 10;  if (l != 2)    return 11;  if (bar (1) != 0)    return 12;  if (bar (-1) != 1)    return 13;  if ((*pbar) (0xa5a5a5a5) != -1)    return 14;  if (k != 0xa5a5a5a5)    return 15;  if ((*pbar) (0) != 0xa5a5a5a5)    return 16;  if (k != 0)    return 17;  return 0;}

⌨️ 快捷键说明

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