varch/README.en.md
2025-11-21 23:00:12 +08:00

11 KiB

varch

logo

Version License Author Supported Platforms

Introduction

中文版

varch (we architecture, meaning our framework library) is a commonly used code module library for embedded C language, including the commonly used embedded algorithm library (search, check, filter, hash, sort, etc.), data structure/container library (general queue, stack, heap, list, dynamic array, string, set, dictionary, map, graph, etc.), parser library (csv, ini, json, xml, etc.), mathematical library (large number operation, mathematical operation), C language coroutine library, independent C language st d library, utility library, etc. It has the characteristics of simplicity, universality, and efficiency, with the aim of learning and using it immediately in development, improving development efficiency and code reliability and stability.

Content

module version usage path describe
overall 00.03.05 link path Overall
init 01.00.00 link path Initialize export module
console 01.00.01 link path Console command input, combined with the 'command' module, parsing commands entered in the console
arg 01.00.00 link path Indefinite parameters, obtain the number of indefinite parameters and specified parameters
calculate 01.01.00 link path Calculation module, input calculation expression to obtain calculation result
command 01.00.00 link path Command parsing module, input string commands (similar to shell commands), execute corresponding command functions
ArtFont 01.00.00 link path Artistic character patterns
cQueue 01.00.01 link path Universal queue controller
sList 01.00.01 link path Universal single-link list controller
dList 01.00.01 link path Universal double-link list controller
fsm 01.00.00 link path Universal finite state machine module
kern 01.00.00 link path The kernel module for scheduling periodic tasks is mostly used in varch testing
oscp 01.00.00 link path Analog oscilloscope module, can easily monitor the waveform of variable changes
tool 01.01.00 link path General tools code
valloc 01.00.00 link path Dynamic memory usage testing tool
vlog 01.01.00 link path Log output module
date 01.00.00 link path Date calculation module, calculating date differences, printing calendars, etc
vctype 01.00.00 link path Similar to the C standard library ctype
vmath 01.00.00 link path Similar to the C standard library math
vmem 01.00.00 link path Simple implementation of memory pool
vstddef 01.00.00 link path Similar to the C standard library stddef
vstdint 01.00.00 link path Similar to the C standard library stdint
vstdlib 01.00.00 link path Similar to the C standard library stdlib
vstring 01.00.00 link path Similar to the C standard library string
queue 01.00.00 link path Universal queue container
stack 01.00.00 link path Universal stack container
deque 01.00.00 link path Universal double-end queue container
list 01.00.01 link path Universal list container, single-link and internal iteration
vector 01.00.00 link path Universal vector(array) container
str 01.00.00 link path String class
dict 01.00.00 link path Universal dictionarie container, implementation based on hash table
heap 01.00.00 link path Universal heap container
set 01.00.01 link path Universal set container, implementation based on RB-tree
map 01.00.01 link path Universal map container, implementation based on RB-tree
tree 01.00.00 link path Universal tree container
graph 01.00.00 link path Universal graph container
check 01.00.00 link path Verification algorithm, sum check, parity check, XOR check, LRC check
crc 01.00.00 link path Universal and standard CRC algorithms
encrypt 01.00.00 link path Encryption and decryption algorithms
filter 01.00.00 link path Filter algorithms, median, kalman, average
hash 01.00.00 link path Hash algorithms, bkdr, ap, djb, js, rs, sdbm, pjw, elf, dek, bp, fnv, jdk6
pid 01.00.00 link path PID control algorithm calculator
search 01.00.00 link path Universal search algorithms, linear, binary
sort 01.00.00 link path Universal sorting algorithms (various data structures), bubble, select, insert, hill, quick, heap
csv 01.00.00 link path CSV file parsing generator
ini 01.00.00 link path INI configuration file parsing generator
json 01.00.00 link path JSON file parsing generator
txls 01.01.00 link path TXLS file parsing generator
xml 01.00.00 link path XML file parsing generator
yaml 00.01.00 link path YAML file parsing generator
ramt 01.00.00 link path RAM test module
romt 01.00.00 link path ROM test module
cant 00.01.00 link path CAN test module
slup 00.01.00 link path serial link universal protocol
cpul 01.00.00 link path CPU load test module, including obtaining and increasing load
unitt 01.00.00 link path Simple unit test module
intl 01.01.00 link path Large integer arithmetic module
floatl 01.01.01 link path Large floating-point arithmetic module
flmath 01.00.00 link path Large floating-point arithmetic math module
coroutine 00.02.00 link path Coroutine module

Usage

The code is compiled and tested in a Linux environment. It can be compiled by configuring the files to be compiled in the makefile directory under the build directory, or by directly running the run. sh file to compile and run. The varch module should be kept as independent as possible, and in order to reduce dependence on other modules, most files can be directly extracted and used separately. If there are dependencies on other modules during compilation to solve dependency problems, but only data type dependencies, you can refer to defining the required types.

Install

  • linux
make install
  • MinGW
make install LIBP=<MinGW install path>

demo:

make install LIBP=D:/MinGW

License

                GNU GENERAL PUBLIC LICENSE
                   Version 2, June 1991

Contach

Lamdonn@163.com