📄 exstbmemfree.c
字号:
/*****************************************************************************//* Copyright (c) 2008 NXP B.V. All rights are reserved. *//* *//* Redistribution and use in source and binary forms, with or without *//* modification, are permitted provided that the following conditions *//* are met: *//* *//* Redistributions of source code must retain the above copyright *//* notice, this list of conditions and the following disclaimer. *//* *//* Redistributions in binary form must reproduce the above copyright *//* notice, this list of conditions and the following disclaimer in the *//* documentation and/or other materials provided with the distribution. *//* *//* Neither the name of NXP nor the names of its *//* contributors may be used to endorse or promote products derived from *//* this software without specific prior written permission. *//* *//* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *//* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *//* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR *//* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT *//* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *//* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *//* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *//* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *//* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *//* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *//* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *//* DAMAGE. *//* *//*****************************************************************************//* IPSTB Project ---------------------------------Filename: exStbMemFree.cRev Date Author Comments-------------------------------------------------------------------------------- 1 20070726 neill Original 2 20071023 neill Fix QAC errors 3 20080205 batelaan Update file copyright/license text*//** @file Simple program to test the available free memory.*//************************************************ INCLUDE FILES *************************************************/#include <stdio.h>#include <stdlib.h>#include <stdint.h>#include <string.h>/************************************************ LOCAL MACROS *************************************************//* Size of memory chunks to be malloced */#define MEM_TEST_SIZE (512*1024)/******************************************************************* LOCAL TYPEDEFS ********************************************************************//* Structure used to create linked list */typedef struct _memTestStruct{ struct _memTestStruct* pNext;}memTestStruct;/****************************** STATIC FUNCTION PROTOTYPES *******************************//****************************** STATIC DATA *******************************//****************************** EXPORTED DATA *******************************//****************************** FUNCTION IMPLEMENTATION *******************************/int32_t main(int32_t argc, char* argv[]){ int32_t total = 0; /* Linked listed used to track the memory */ memTestStruct *ptr = NULL; while(1) { memTestStruct * pTmp; /* Allocate a chunk of memory */ pTmp = (memTestStruct *) malloc(MEM_TEST_SIZE); if (!pTmp) { break; } /* Access ALL of it! */ (void)memset((char*)pTmp, 0, MEM_TEST_SIZE); /* Increment the total allocated size */ total += MEM_TEST_SIZE; (void)printf("Malloced %.1f MB\n", ((float)total/(float)(1024*1024))); /* Save the memory into a linked list */ pTmp->pNext = ptr; ptr = pTmp; } /* Free off all the memory */ while(ptr != NULL) { memTestStruct * pTmp; pTmp = ptr->pNext; free(ptr); ptr = pTmp; } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -