• 大小: 3KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: C/C++
  • 标签: C语言  

资源简介

位图可以节省内存资源,而C语言又是高效的编程语言

资源截图

代码片段和文件信息

/* bitmap.c
 *
 * Copyright (C) 2013 2013 chashen. All Rights Reserved.
 * Written by chashen
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version
 * 2 of the License or (at your option) any later version.
 */

#include 
#include 

#include “bitmap.h“

/********************************************************************
 Function Name: Bitmap_Create
  Date Created: 2013-11-07
        Author: chashen
   Description: 创建指定最大有效位的位图
         Input: unsigned int uiMaxBitID 最大有效位
        Output: none
        Return: BITMAP_S * 创建成功
                NULL       创建失败
       Caution:
  ----------------------------------------------------------------
    Modifiction History 
    DATE                NAME                DEscriptION 
    ------------------------------------------------------------
    YYYY-MM-DD
  ----------------------------------------------------------------
********************************************************************/
BITMAP_S *Bitmap_Create(unsigned int uiMaxBitID)
{
    BITMAP_S *pstBitmap = NULL;
    unsigned int uiLen = sizeof(BITMAP_S);
    unsigned int uiMemSize = (uiMaxBitID + 1) / 8;
    unsigned int uiRemainder = (uiMaxBitID + 1) % 8;
    if (uiRemainder != 0)
    {
        uiMemSize++;
    }
    
    uiLen += uiMemSize;
    pstBitmap = malloc(uiLen);
    if (pstBitmap != NULL)
    {
        memset(pstBitmap 0 uiLen);
        pstBitmap->uiMemSize = uiMemSize;
        pstBitmap->uiMaxBitID = uiMaxBitID;
    }
    
    return pstBitmap;
}

/********************************************************************
 Function Name: Bitmap_Destroy
  Date Created: 2013-11-07
        Author: chashen
   Description: 销毁位图
         Input: none
        Output: none
        Return: void
       Caution:
  ----------------------------------------------------------------
    Modifiction History 
    DATE                NAME                DEscriptION 
    ------------------------------------------------------------
    YYYY-MM-DD
  ----------------------------------------------------------------
********************************************************************/
void Bitmap_Destroy(BITMAP_S *pstBitmap)
{
    free(pstBitmap);
    pstBitmap = NULL;
}

/********************************************************************
 Function Name: Bitmap_Set
  Date Created: 2013-11-07
        Author: chashen
   Description: 设置位图的指定位
         Input: BITMAP_S *pstBitmap 位图指针 
                unsigned int uiPos  指定的设置位
        Output: none
        Return: void
       Caution:
  ----------------------------------------------------------------
    Modifiction History 
    DATE                NAME                DEscriptION
    ------------------------------------------------------------
    YYYY-MM-DD
  ----------------------------------------------------------------
**************************

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-09-13 09:20  bitmap\
     文件        5001  2013-11-08 20:45  bitmap\bitmap.c
     文件         904  2013-11-08 20:45  bitmap\bitmap.h
     文件        1274  2013-11-08 20:45  bitmap\main.c
     文件         268  2013-11-08 20:45  bitmap\makefile

评论

共有 条评论