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

📄 eva_app.c

📁 俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)的全部源代码。
💻 C
字号:
/* eva_app.c -- Glue code for linking apps to run under GDB debugger control. * * Copyright (c) 2001 Red Hat, Inc. * * The authors hereby grant permission to use, copy, modify, distribute, * and license this software and its documentation for any purpose, provided * that existing copyright notices are retained in all copies and that this * notice is included verbatim in any distributions. No written agreement, * license, or royalty fee is required for any of the authorized uses. * Modifications to this software may be copyrighted by their authors * and need not follow the licensing terms described here, provided that * the new terms are clearly indicated on the first page of each file where * they apply. */#include "glue.h"typedef void (*write_proc_t)(char *buf, int nbytes);typedef int  (*read_proc_t)(char *buf, int nbytes);/* There is no "syscall", so we just call directly into the stub code   at fixed addresses. */#define STUB_WRITE(p,n) ((write_proc_t)0x8084)((p),(n))#define STUB_READ(p,n)  ((read_proc_t)0x8088)((p),(n))/* * print -- do a raw print of a string */ voidprint(char *ptr){  STUB_WRITE(ptr, strlen(ptr));}/* * write -- write bytes to the serial port. Ignore fd, since *          stdout and stderr are the same. Since we have no filesystem, *          open will only return an error. */int_write (int fd, char *buf, int nbytes){  STUB_WRITE(buf, nbytes);  return (nbytes);}int_read (int fd, char *buf, int nbytes){  return STUB_READ(buf, nbytes);}extern char _end[];#define HEAP_LIMIT ((char *)0xffff)void *_sbrk(int inc){  static char *heap_ptr = _end;  void *base;  if (inc > (HEAP_LIMIT - heap_ptr))    return (void *)-1;  base = heap_ptr;  heap_ptr += inc;  return base;}void_exit(int n){  while (1)   {     asm volatile ("nop");     asm volatile (".hword 0x0006");  /* breakpoint (special illegal insn) */   }}

⌨️ 快捷键说明

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