📄 gui_alloc_allocinit.c
字号:
/*
*********************************************************************************************************
* uC/GUI
* Universal graphic software for embedded applications
*
* (c) Copyright 2002, Micrium Inc., Weston, FL
* (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
* 礐/GUI is protected by international copyright laws. Knowledge of the
* source code may not be used to write a similar product. This file may
* only be used in accordance with a license and should not be redistributed
* in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File : GUIAlloc.C
Purpose : Dynamic memory management
----------------------------------------------------------------------
*/
#include <stddef.h> /* needed for definition of NULL */
#include <string.h> /* for memcpy, memset */
#include "GUI_Protected.h"
#include "GUIDebug.h"
/*********************************************************************
*
* Internal memory management
*
**********************************************************************
*/
/*********************************************************************
*
* GUI_ALLOC_AllocInit
*
* Purpose:
* Alloc memory block of the given size and initialize from the given pointer.
* If the pointer is a NULL pointer, zeroinit
*/
GUI_HMEM GUI_ALLOC_AllocInit(const void *pInitData, GUI_ALLOC_DATATYPE Size) {
GUI_HMEM hMem;
GUI_LOCK();
if (Size == 0) {
return (GUI_HMEM)0;
}
hMem = GUI_ALLOC_AllocNoInit(Size);
if (hMem) {
void *pMem;
pMem = GUI_ALLOC_h2p(hMem);
if (pInitData) {
memcpy(pMem, pInitData, Size);
} else {
GUI_MEMSET((U8*)pMem, 0, Size);
}
}
GUI_UNLOCK();
return hMem;
}
/*************************** End of file ****************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -