欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ksstack C语言实现静态内存、动态内存、先进先出FIFO、先进后出FILO、栈、库

程序员文章站 2022-03-14 15:32:26
...

ksstack

kira’s stack 由kira书写的c语言栈库

仓库地址:

https://github.com/kiraskyler/ksstack


目录

1. 项目简介
2. 目录结构
3. 安装说明
4. 使用说明
5. 维护说明
6. 注意
7. 关于作者
8. 贡献者/贡献组织
9. 鸣谢
10. 版权信息
11. 更新日志

项目简介

  • 支持使用静态内存与动态内存创建管理栈,仅需一个C文件一个H文件添加至工程即可,并可轻松切换静态内存或动态内存
  • 支持任意尺寸(硬件或操作系统支持)的栈元素,如 int, bit,结构体等(仅测试int)
  • 与操作系统等无关
  • 注:未测试ARM大端与小端内存

安装说明

​ 没有什么可安装的,直接将ksstack.c ksstack.h放到你的工程里就就可以用了

使用说明

​ 参考sample文件夹内示例

  • 三种调用方法:静态内存、动态内存、自定义

    • 静态内存调用时,库函数不会使用任何动态内存方法,内存管理由用户负责
    • 动态内存调用时,库函数使用双向链表创建栈,仅当栈容量变化时发生内存申请释放,按需调整头文件中内存管理函数,谨防内存碎片化
      • 使用动态内存结束时禁忌清空栈,否则有内存泄漏风险
    • 自定义比较适合业务有可能在静态内存和动态内存发生切换时使用,仅在init函数时修改即可完成静态内存与动态内存的切换
  • ksstack_static,静态内存

    • 使用静态内存方法对这个栈库进行测试
  • ksstack_user,自定义

    • 使用宏定义来调整动态内存和静态内存对栈库的调用和测试

维护说明

注意

关于作者

Autho: KiraSkyler
Email: [email protected] / [email protected]

贡献者/贡献组织

鸣谢

版权信息

该项目签署了GPL 授权许可,详情请参阅官网
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 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

更新日志

  • V0.0.4.20210415
    • 第一版,参上