mirror of
https://gitee.com/Lamdonn/varch.git
synced 2025-12-06 16:56:42 +08:00
77 lines
8.0 KiB
Markdown
77 lines
8.0 KiB
Markdown
# varch
|
||
|
||

|
||
|
||
## 介绍
|
||
|
||
[English version](README.en.md)
|
||
|
||
varch(we-architecture,意为我们的框架库)是嵌入式C语言常用代码模块库,包含了嵌入式中常用的算法库, 数据结构(容器)库, 解析器库, 独立C语言std库, 工具库等等。
|
||
具有**简单, 通用, 高效**的特点,目的为了**学习**以及在开发中**拿来就用**,提高开发效率以及代码可靠稳定性。
|
||
|
||
## 内容
|
||
|
||
| module | version | usage | path | describe |
|
||
|:-------------|:---------|:-----------------------------|:--------------------------------------|:--------------------------------------|
|
||
| overall | 00.01.01 | [link](README.md) | ./ | Overall
|
||
| init | 01.00.00 | [link](/doc/init.md) | ./source/00_application | Initialize export module
|
||
| console | 01.00.00 | [link](/doc/console.md) | ./source/00_application/console | Console command input, combined with the 'command' module, parsing commands entered in the console
|
||
| arg | 01.00.00 | [link](/doc/arg.md) | ./source/01_general | Indefinite parameters, obtain the number of indefinite parameters and specified parameters
|
||
| calculate | 01.00.00 | [link](/doc/calculate.md) | ./source/01_general | Calculation module, input calculation expression to obtain calculation result
|
||
| command | 01.00.00 | [link](/doc/command.md) | ./source/01_general | Command parsing module, input string commands (similar to shell commands), execute corresponding command functions
|
||
| cPatten | 01.00.00 | [link](/doc/cPatten.md) | ./source/01_general | Artistic character patterns
|
||
| cQueue | 01.00.00 | [link](/doc/cQueue.md) | ./source/01_general | Universal queue controller
|
||
| dList | 01.00.00 | [link](/doc/dList.md) | ./source/01_general | Universal double-link list controller
|
||
| fsm | 01.00.00 | [link](/doc/fsm.md) | ./source/01_general | Universal finite state machine module
|
||
| kern | 01.00.00 | [link](/doc/kern.md) | ./source/01_general | The kernel module for scheduling periodic tasks is mostly used in varch testing
|
||
| oscp | 01.00.00 | [link](/doc/oscp.md) | ./source/01_general | Analog oscilloscope module, can easily monitor the waveform of variable changes
|
||
| sList | 01.00.00 | [link](/doc/sList.md) | ./source/01_general | Universal single-link list controller
|
||
| tool | 01.00.00 | [link](/doc/tool.md) | ./source/01_general | General tools code
|
||
| valloc | 01.00.00 | [link](/doc/valloc.md) | ./source/01_general | Dynamic memory usage testing tool
|
||
| vlog | 01.01.00 | [link](/doc/vlog.md) | ./source/01_general | Log output module
|
||
| vctype | 01.00.00 | [link](/doc/vctype.md) | ./source/02_vstd | Similar to the C standard library ctype
|
||
| vmath | 01.00.00 | [link](/doc/vmath.md) | ./source/02_vstd | Similar to the C standard library math
|
||
| vmem | 01.00.00 | [link](/doc/vmem.md) | ./source/02_vstd | Simple implementation of memory pool
|
||
| vstddef | 01.00.00 | [link](/doc/vstddef.md) | ./source/02_vstd | Similar to the C standard library stddef
|
||
| vstdint | 01.00.00 | [link](/doc/vstdint.md) | ./source/02_vstd | Similar to the C standard library stdint
|
||
| vstdlib | 01.00.00 | [link](/doc/vstdlib.md) | ./source/02_vstd | Similar to the C standard library stdlib
|
||
| vstring | 01.00.00 | [link](/doc/vstring.md) | ./source/02_vstd | Similar to the C standard library string
|
||
| deque | 01.00.00 | [link](/doc/deque.md) | ./source/03_container | Universal double-end queue container
|
||
| dict | 01.00.00 | [link](/doc/dict.md) | ./source/03_container | Universal dictionarie container, implementation based on hash table
|
||
| heap | 01.00.00 | [link](/doc/heap.md) | ./source/03_container | Universal heap container
|
||
| list | 01.00.00 | [link](/doc/list.md) | ./source/03_container | Universal list container, single-link and internal iteration
|
||
| map | 01.00.00 | [link](/doc/map.md) | ./source/03_container | Universal map container, implementation based on RB-tree
|
||
| queue | 01.00.00 | [link](/doc/queue.md) | ./source/03_container | Universal queue container
|
||
| set | 01.00.00 | [link](/doc/set.md) | ./source/03_container | Universal set container, implementation based on RB-tree
|
||
| stack | 01.00.00 | [link](/doc/stack.md) | ./source/03_container | Universal stack container
|
||
| str | 01.00.00 | [link](/doc/str.md) | ./source/03_container | String class
|
||
| tree | 01.00.00 | [link](/doc/tree.md) | ./source/03_container | Universal tree container
|
||
| vector | 01.00.00 | [link](/doc/vector.md) | ./source/03_container | Universal vector(array) container
|
||
| check | 01.00.00 | [link](/doc/check.md) | ./source/04_algorithm | Verification algorithm, sum check, parity check, XOR check, LRC check
|
||
| crc | 01.00.00 | [link](/doc/crc.md) | ./source/04_algorithm | Universal and standard CRC algorithms
|
||
| encrypt | 01.00.00 | [link](/doc/encrypt.md) | ./source/04_algorithm | Encryption and decryption algorithms
|
||
| filter | 01.00.00 | [link](/doc/filter.md) | ./source/04_algorithm | Filter algorithms, median, kalman, average
|
||
| hash | 01.00.00 | [link](/doc/hash.md) | ./source/04_algorithm | Hash algorithms, bkdr, ap, djb, js, rs, sdbm, pjw, elf, dek, bp, fnv, jdk6
|
||
| pid | 01.00.00 | [link](/doc/pid.md) | ./source/04_algorithm | PID control algorithm calculator
|
||
| search | 01.00.00 | [link](/doc/search.md) | ./source/04_algorithm | Universal search algorithms, linear, binary
|
||
| sort | 01.00.00 | [link](/doc/sort.md) | ./source/04_algorithm | Universal sorting algorithms (various data structures), bubble, select, insert, hill, quick, heap
|
||
| csv | 01.00.00 | [link](/doc/csv.md) | ./source/05_parser | CSV file parsing generator
|
||
| ini | 01.00.00 | [link](/doc/ini.md) | ./source/05_parser | INI configuration file parsing generator
|
||
| json | 01.00.00 | [link](/doc/json.md) | ./source/05_parser | JSON file parsing generator
|
||
| txls | 01.00.00 | [link](/doc/txls.md) | ./source/05_parser | TXLS file parsing generator
|
||
| xml | 01.00.00 | [link](/doc/xml.md) | ./source/05_parser | XML file parsing generator
|
||
|
||
## 使用说明
|
||
|
||
代码在linux环境下编写编译测试,在`built`目录下的`makefile`配置需要编译的文件进行编译即可,也可以直接运行`run.sh`文件编译加运行。varch模块尽可能的保持独立,为了减少对其他模块的依赖,大部分的文件是可以直接单独拎出来就可以直接使用。如果编译存在对其他模块的依赖解决依赖问题,只是数据类型依赖的问题,完全可以参考定义所需类型即可。
|
||
|
||
## 开源协议
|
||
|
||
GNU GENERAL PUBLIC LICENSE
|
||
Version 2, June 1991
|
||
|
||
## 联系方式
|
||
|
||
Lamdonn@163.com
|
||
|