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

📄 memtest.c

📁 uboot在arm处理器s3c2410的移植代码
💻 C
字号:
/******************************************************************************                   SciTech OS Portability Manager Library**  ========================================================================**    The contents of this file are subject to the SciTech MGL Public*    License Version 1.0 (the "License"); you may not use this file*    except in compliance with the License. You may obtain a copy of*    the License at http://www.scitechsoft.com/mgl-license.txt**    Software distributed under the License is distributed on an*    "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or*    implied. See the License for the specific language governing*    rights and limitations under the License.**    The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc.**    The Initial Developer of the Original Code is SciTech Software, Inc.*    All Rights Reserved.**  ========================================================================*** Language:     ANSI C* Environment:  any** Description:  Test program to determine just how much memory can be*               allocated with the compiler in use. Compile and link*               with the appropriate command line for your DOS extender.**               Functions tested:   PM_malloc()*                                   PM_availableMemory()******************************************************************************/#include <stdlib.h>#include <stdio.h>#include <string.h>#include <math.h>#include "pmapi.h"#ifdef  __16BIT__#define MAXALLOC    64#else#define MAXALLOC    2000#endifint main(void){    int     i;    ulong   allocs;    ulong   physical,total;    char    *p,*pa[MAXALLOC];    printf("Program running in ");    switch (PM_getModeType()) {	case PM_realMode:	    printf("real mode.\n\n");	    break;	case PM_286:	    printf("16 bit protected mode.\n\n");	    break;	case PM_386:	    printf("32 bit protected mode.\n\n");	    break;	}    printf("Memory available at start:\n");    PM_availableMemory(&physical,&total);    printf("   Physical memory:           %ld Kb\n", physical / 1024);    printf("   Total (including virtual): %ld Kb\n", total / 1024);    printf("\n");    for (allocs = i = 0; i < MAXALLOC; i++) {	if ((pa[i] = PM_malloc(10*1024)) != 0) {    /* in 10k blocks    */	    p = pa[allocs];	    memset(p, 0, 10*1024); /* touch every byte              */	    *p = 'x';           /* do something, anything with      */	    p[1023] = 'y';      /* the allocated memory             */	    allocs++;	    printf("Allocated %lu bytes\r", 10*(allocs << 10));	    }	else break;	if (PM_kbhit() && (PM_getch() == 0x1B))	    break;	}    printf("\n\nAllocated total of %lu bytes\n", 10 * (allocs << 10));    printf("\nMemory available at end:\n");    PM_availableMemory(&physical,&total);    printf("   Physical memory:           %ld Kb\n", physical / 1024);    printf("   Total (including virtual): %ld Kb\n", total / 1024);    for (i = allocs-1; i >= 0; i--)	PM_free(pa[i]);    printf("\nMemory available after freeing all blocks (note that under protected mode\n");    printf("this will most likely not be correct after freeing blocks):\n\n");    PM_availableMemory(&physical,&total);    printf("   Physical memory:           %ld Kb\n", physical / 1024);    printf("   Total (including virtual): %ld Kb\n", total / 1024);    return 0;}

⌨️ 快捷键说明

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