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

📄 dump_config.c

📁 专业汽车级嵌入式操作系统OSEK的源代码
💻 C
字号:
/** * dump_config.c * Dumps platform_config.h */#include <stdio.h>#include <stdlib.h>int determine_little_endian(){  unsigned char carr[] = { 0x21, 0x34 };  unsigned short *s = (void *) carr;    if ((s[0] >> 8) == 0x21 && (s[0] & 0xFF) == 0x34)    return 0; // Big endian, like Java  if ((s[0] >> 8) == 0x34 && (s[0] & 0xFF) == 0x21)    return 1; // Little endian, like gcc on Intel  // Unexpected:  return -1;  	}int main (int argc, char **argv){   int le;    printf ("/* Generated by dump_config utility. Do not modify. */\n");  le = determine_little_endian();  if (le == -1)  {    printf ("#error Unable to determine byte order for this platform");    exit(1);  }  printf ("#ifndef _PLATFORM_CONFIG_H\n");	  printf ("#define _PLATFORM_CONFIG_H\n");  printf ("\n");  printf ("#include <stdio.h>\n");  printf ("#include <string.h>\n");  printf ("#include <stdlib.h>\n");  printf ("typedef unsigned char byte;\n");  printf ("typedef signed char JBYTE;\n");  printf ("typedef signed short JSHORT;\n");  printf ("typedef signed long JINT;\n");  printf ("typedef unsigned short TWOBYTES;\n");  printf ("typedef unsigned long FOURBYTES;\n");  printf ("#include \"systime.h\"\n");    printf ("#define ptr2word(PTR_) ((STACKWORD) (PTR_))\n");	  printf ("#define word2ptr(WRD_) ((void *) (WRD_))\n");  printf ("#define get_sys_time() get_sys_time_impl()\n");  printf ("#ifndef LITTLE_ENDIAN\n");  printf ("#define LITTLE_ENDIAN %d\n", determine_little_endian());  printf ("#endif\n");	  printf ("#define FP_ARITHMETIC 1\n");	  printf ("#define PLATFORM_HANDLES_SWITCH_THREAD 0\n");  printf ("#define TICKS_PER_TIME_SLICE          140 // Actually instructions per timeslice\n");  printf ("#define VERIFY\n");  printf ("#define RECORD_REFERENCES 1\n");  printf ("\n");  printf ("#endif // _PLATFORM_CONFIG_H\n");		  return 0;}

⌨️ 快捷键说明

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