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

📄 return2.c

📁 这个是LINUX下的GDB调度工具的源码
💻 C
字号:
/* Test gdb's "return" command.  */int void_test = 0;int main_test = 0;char      char_returnval      = '1';short     short_returnval     = 1;int       int_returnval       = 1;long      long_returnval      = 1;long long long_long_returnval = 1;float     float_returnval     = 1;double    double_returnval    = 1;union {  char      char_testval;  short     short_testval;  int       int_testval;  long      long_testval;  long long long_long_testval;  float     float_testval;  double    double_testval;  char      ffff[80];} testval;void void_func (){  void_test = 1;}char char_func (){  return char_returnval;}short short_func (){  return short_returnval;}int int_func (){  return int_returnval;}long long_func (){  return long_returnval;}long long long_long_func (){  return long_long_returnval;}float float_func (){  return float_returnval;}double double_func (){  return double_returnval;}int main (int argc, char **argv){  char char_resultval;  short short_resultval;  int int_resultval;  long long_resultval;  long long long_long_resultval;  float float_resultval;  double double_resultval;  int i;  /* A "test load" that will insure that the function really returns      a ${type} (as opposed to just a truncated or part of a ${type}).  */  for (i = 0; i < sizeof (testval.ffff); i++)    testval.ffff[i] = 0xff;  void_func (); 				/* call to void_func */  char_resultval      = char_func ();		/* void_checkpoint */  short_resultval     = short_func ();		/* char_checkpoint */  int_resultval       = int_func ();		/* short_checkpoint */  long_resultval      = long_func ();		/* int_checkpoint */  long_long_resultval = long_long_func ();	/* long_checkpoint */  /* On machines using IEEE floating point, the test pattern of all     1-bits established above turns out to be a floating-point NaN     ("Not a Number").  According to the IEEE rules, NaN's aren't even     equal to themselves.  This can lead to stupid conversations with     GDB like:       (gdb) p testval.float_testval == testval.float_testval       $7 = 0       (gdb)     This is the correct answer, but it's not the sort of thing     return2.exp wants to see.  So to make things work the way they     ought, we'll set aside the `union' cleverness and initialize the     test values explicitly here.  These values have interesting bits     throughout the value, so we'll still detect truncated values.  */  testval.float_testval = 2.7182818284590452354;/* long_long_checkpoint */  float_resultval     = float_func ();		  testval.double_testval = 3.14159265358979323846; /* float_checkpoint */  double_resultval    = double_func ();		  main_test = 1;				/* double_checkpoint */  return 0;}

⌨️ 快捷键说明

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