ZE-Standard-Libraries/README.md
2019-01-12 15:31:12 +08:00

7.9 KiB
Raw Permalink Blame History

ZE-Standard-Libraries

概要说明文档

梗概

该库提供了C语言环境下的内存管理、高级数据结构的使用、网络传输、文件储存、子程序管理、回调机制、错误管理的一套完整的解决方案用于加快基于C语言的软件的开发进程并为基于网络的分布式软件系统的开发提供了新的且简便的思路和方式。

详细梗概

该库以模块化的方式来组织,主要模块包括内存管理模块、高级数据结构模块、文件储存模块、网络传输模块、子程序管理模块、回调机制实现模块、错误管理模块、在主要模块还会被分为几个小模块。模块之间有对应的依赖关系。

内存管理模块memory

该库以内存管理模块为基础通过两种内存管理结构对于储存在内存中的数据进行组织、操作。该模块的子模块主要分为链式内存管理list块式内存管理block。链式内存管理对于内存中离散的数据进行组织和管理块式内存管理对于内存中的整块数据进行管理。这两个子模块会分别实现链式和块式的内存管理的管理结构及相关操作。该模块的第三个子模块是内存泄露管理模块该模块对于已经分配的内存空间进行全面地监控及时地完全地释放不需要的内存空间。内存泄漏管理对于长期运行的软件系统来说至关重要。链式和块式内存管理具体要实现的基本操作函数有初始化类函数、赋值类函数、复制类函数、插入类函数、删除类函数、查询类函数、释放类函数。

高级数据结构模块datastruct

高级数据结构模块是对于内存管理模块的一次封装和抽象它依赖于内存管理模块所提供的链式内存和块式内存管理结构和相关操作方法运用相关方法来实现高级数据结构及其基本操作和算法。这些高级数据结构包括目录树tree、二叉树、堆、栈、队列、有向图、无向图、链表(chain)、字典、字符串。通过高级数据模块,使得库能够更加快速地对于实际问题进行建模,更加有效率的解决实际问题。高级数据结构的子模块包含:基本操作子模块和算法子模块。前者完成了对于高级数据结构的基本操作:初始化数据结构、插入数据、删除数据、更新数据;后者将提供高级数据结构常用的高级算法:查找算法、排序算法、优化算法、转换算法。

文件储存模块communicate_file

文件储存模块依赖内存管理模块、回调机制模块和高级数据结构模块该模块实现将内存数据管理结构与高级数据结构的信息及其中储存的数据储存到到文件中。该模块中定义的文件管理结构分为两类关系型文件管理结构std非关系型文件管理结构。这两个结构的区别是是否记录所储存信息之间的关系。前者将有专门的数据结构来储存所储存的数据之间的联系后者按照块的形式来叠放数据。模块内部将专门实现这两个数据管理结构写入文件、从文件读出的操作方法。并且将实现各个高级数据结构与文件管理结构之间的转化。这样能够直接将高级数据结构转化为文件管理结构从而储存到文件中。或者将文件中的数据读出独处的数据在内存中的表现形式为对应的文件管理结构而后再将文件管理结构转化为对应的高级数据结构。模块将实现对于这两种结构的操作方法初始化转化写入读取释放。

网络传输模块communicate_network

网路传输模块依赖内存管理模块、回调机制模块、高级数据结构模块和文件储存模块此模块主要提供将高级数据结构转化为文件信息管理结构文件管理结构转化为网络信息块管理结构将信息分块进行传输。对于简单的字符信息该模块也提供网络消息管理结构message通过该结构能够在一台计算机和另外一台计算机之间传递字符串消息。模块将实现对于这两种结构的操作方法初始化、转化、赋值、传输、释放。

回调机制模块event

回调机制模块依赖内存管理模块和高级数据结构,该模块实现一种方法调用机制,将实现回调函数的注册、传参、返回值传参的标准化宏与相关支撑函数。高级模块中的相关方法,通过使用以上的宏和函数,中能够以更加标准的、更加优雅的方法来实现相关功能。这也使得,事件机制的运用能够更加便捷有效,从而跨计算机之间的函数调用与传参成为可能。

错误管理模块error

错误管理模块依赖内存管理模块和回调机制模块,该模块提供程序输出信息的分类:严重错误、错误、警告、提示。该模块将实现错误的处理函数的注册,在严重错误或者错误出现的情况下,根据开发者通过该模块的错误处理函数的注册信息,调用相应的错误处理函数并提供关键信息来辅助错误修复。该模块将提供相应的管理结构与方法来建立程序中的相关信息的日志文件,并且提供更加方便的方法来管理与更新相应的日志文件,实现程序输出信息的更加规范的清晰地产生与显示。

子程序管理模块subfunc

该模块依赖以上的所有模块,该模块也为该库的最高级的部分。该模块提供子程序的注册,调用,传输以及依赖关系的管理。子程序是一个独立的软件系统的所有功能的一部分,具有相对的独立性。一个程序的子程序可以储存在相同的计算机上,也可以储存在不同的计算机上,子程序之间不论储存的地方在何处,只要能够通过内存或者网络的方式访问到,则可以进行传参和调用。位置信息的记录与子程序的调用由相应的管理结构与操作方法来实现。对于一个要由多个子程序之间协调合作来完成的复杂任务的情景,该模块将通过子程序依赖关系管理结构及其方法来进行相应的系统性的有序调用。对于一个大任务中两个不互为依赖的过程,在允许的情况下模块将进行并行调用。通过子程序的传输方法,子程序能够更加方便地通过网络在计算机之间进行转移。总之,通过该模块,实现了一个独立的软件系统在不同的计算机中储存并且运行在不同计算机的内存中却可以虚拟出在同一计算机中储存运行的效果,能够并行执行软件系统中的某些功能,也可以让软件系统的设计者随时根据具体情况来转移子程序。

通信模块communicate

由于实际原因,网络传输模块与文件储存模块合为通信模块。通信模块统一负责内存管理结构、高级数据结构与文件和网络的对接工作。

目录结构管理方式

  • src源文件
    • memory内存管理模块
      • list 链式内存管理
      • block 块式内存管理
    • communicate通信模块
    • datastruct高级数据结构
    • event回调机制模块
    • error错误管理模块
    • subfunc子程序管理模块
  • include头文件
    • memory内存管理模块
    • file文件储存模块
    • network网络传输模块
    • chain链表
    • event回调机制模块
    • list 链式内存管理
    • tree 目录树
    • error错误管理模块
    • subfunc子程序管理模块
    • type.h全局信息头文件
  • document文档
    • info工程说明及计划文档
    • raw design模块概要设计文档
    • design模块详细设计文档
    • test测试方案及数据文档
  • test不同平台下的测试程序文件
    • unix
    • windows
  • bin编译后的二进制文件