varch/README.md
2024-07-30 00:57:01 +08:00

77 lines
8.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# varch
![logo](/image/logo.png)
## 介绍
[English version](README.en.md)
varchwe-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